File indexing completed on 2025-01-18 10:10:19
0001
0002
0003
0004
0005
0006 #ifndef ROOT_Math_MinimizerVariableTransformation
0007 #define ROOT_Math_MinimizerVariableTransformation
0008
0009 namespace ROOT {
0010
0011 namespace Math {
0012
0013
0014
0015
0016
0017
0018
0019
0020 class MinimizerVariableTransformation {
0021
0022 public:
0023
0024 virtual ~MinimizerVariableTransformation() {}
0025
0026 virtual double Int2ext(double value, double lower, double upper) const = 0;
0027 virtual double Ext2int(double value, double lower, double upper) const = 0;
0028 virtual double DInt2Ext(double value, double lower, double upper) const = 0;
0029
0030 };
0031
0032
0033
0034
0035
0036
0037
0038 class SinVariableTransformation : public MinimizerVariableTransformation {
0039
0040 public:
0041
0042 ~SinVariableTransformation() override {}
0043
0044 double Int2ext(double value, double lower, double upper) const override;
0045 double Ext2int(double value, double lower, double upper) const override;
0046 double DInt2Ext(double value, double lower, double upper) const override;
0047
0048 private:
0049
0050
0051 };
0052
0053
0054
0055
0056
0057
0058 class SqrtLowVariableTransformation : public MinimizerVariableTransformation {
0059 public:
0060
0061 ~SqrtLowVariableTransformation() override {}
0062
0063 double Int2ext(double value, double lower, double upper) const override;
0064 double Ext2int(double value, double lower, double upper) const override;
0065 double DInt2Ext(double value, double lower, double upper) const override;
0066
0067 };
0068
0069
0070
0071
0072
0073
0074 class SqrtUpVariableTransformation : public MinimizerVariableTransformation {
0075 public:
0076
0077 ~SqrtUpVariableTransformation() override {}
0078
0079 double Int2ext(double value, double lower, double upper) const override;
0080 double Ext2int(double value, double lower, double upper) const override;
0081 double DInt2Ext(double value, double lower, double upper) const override;
0082
0083 };
0084
0085
0086 }
0087
0088 }
0089
0090
0091 #endif
0092
0093