1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei, E.G.P. Bos   2003-2017
3 
4 /**********************************************************************
5  *                                                                    *
6  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
7  *                                                                    *
8  **********************************************************************/
9 
10 // Project   : LCG
11 // Package   : Minuit
12 // Author    : Lorenzo.MONETA@cern.ch
13 // Created by: moneta  at Thu Apr  8 10:26:22 2004
14 
15 #ifndef ROOT_Minuit2_SqrtLowParameterTransformation
16 #define ROOT_Minuit2_SqrtLowParameterTransformation
17 
18 namespace ROOT {
19 
20 namespace Minuit2 {
21 
22 class MnMachinePrecision;
23 
24 /**
25  * Transformation from external to internal Parameter based on  sqrt(1 + x**2)
26  *
27  * This transformation applies for the case of single side Lower Parameter limits
28  */
29 
30 class SqrtLowParameterTransformation /* : public ParameterTransformation */ {
31 
32 public:
SqrtLowParameterTransformation()33    SqrtLowParameterTransformation() {}
34 
~SqrtLowParameterTransformation()35    ~SqrtLowParameterTransformation() {}
36 
37    // transformation from internal to external
38    long double Int2ext(long double Value, long double Lower) const;
39 
40    // transformation from external to internal
41    long double Ext2int(long double Value, long double Lower, const MnMachinePrecision &) const;
42 
43    // derivative of transformation from internal to external
44    long double DInt2Ext(long double Value, long double Lower) const;
45 
46 private:
47 };
48 
49 } // namespace Minuit2
50 
51 } // namespace ROOT
52 
53 #endif
54