Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
MinimizerVariableTransformation.h
Go to the documentation of this file.
1 // @(#)root/mathmore:$Id$
2 // Author: L. Moneta 2009
3 
4 // Header file for class MinimizerVariable
5 
6 #ifndef ROOT_Math_MinimizerVariableTransformation
7 #define ROOT_Math_MinimizerVariableTransformation
8 
9 namespace ROOT {
10 
11  namespace Math {
12 
13 /**
14  Base class for MinimizerVariable transformations defining the functions to deal
15  with bounded parameters
16 
17  @ingroup MultiMin
18 */
19 
20 class MinimizerVariableTransformation {
21 
22 public:
23 
24  virtual ~MinimizerVariableTransformation() {}
25 
26  virtual double Int2ext(double value, double lower, double upper) const = 0;
27  virtual double Ext2int(double value, double lower, double upper) const = 0;
28  virtual double DInt2Ext(double value, double lower, double upper) const = 0;
29 
30 };
31 
32 
33 /**
34  Sin Transformation class for dealing with double bounded variables
35 
36  @ingroup MultiMin
37 */
38 class SinVariableTransformation : public MinimizerVariableTransformation {
39 
40 public:
41 
42  virtual ~SinVariableTransformation() {}
43 
44  double Int2ext(double value, double lower, double upper) const;
45  double Ext2int(double value, double lower, double upper) const;
46  double DInt2Ext(double value, double lower, double upper) const;
47 
48 private:
49 
50 
51 };
52 
53 /**
54  Sqrt Transformation class for dealing with lower bounded variables
55 
56  @ingroup MultiMin
57 */
58 class SqrtLowVariableTransformation : public MinimizerVariableTransformation {
59 public:
60 
61  virtual ~SqrtLowVariableTransformation() {}
62 
63  double Int2ext(double value, double lower, double upper) const;
64  double Ext2int(double value, double lower, double upper) const;
65  double DInt2Ext(double value, double lower, double upper) const;
66 
67 };
68 
69 /**
70  Sqrt Transformation class for dealing with upper bounded variables
71 
72  @ingroup MultiMin
73 */
74 class SqrtUpVariableTransformation : public MinimizerVariableTransformation {
75 public:
76 
77  virtual ~SqrtUpVariableTransformation() {}
78 
79  double Int2ext(double value, double lower, double upper) const;
80  double Ext2int(double value, double lower, double upper) const;
81  double DInt2Ext(double value, double lower, double upper) const;
82 
83 };
84 
85 
86  } // end namespace Math
87 
88 } // end namespace ROOT
89 
90 
91 #endif /* ROOT_Math_MinimizerVariableTransformation */
92 
93