10 #ifndef ROOT_Minuit2_MnUserParameters
11 #define ROOT_Minuit2_MnUserParameters
23 class MnMachinePrecision;
37 class MnUserParameters {
41 MnUserParameters() : fTransformation(MnUserTransformation()) {}
43 MnUserParameters(
const std::vector<double>&,
const std::vector<double>&);
45 ~MnUserParameters() {}
47 MnUserParameters(
const MnUserParameters& par) :
48 fTransformation(par.fTransformation) {}
50 MnUserParameters& operator=(
const MnUserParameters& par) {
51 fTransformation = par.fTransformation;
55 const MnUserTransformation& Trafo()
const {
return fTransformation;}
57 unsigned int VariableParameters()
const {
58 return fTransformation.VariableParameters();
62 const std::vector<ROOT::Minuit2::MinuitParameter>& Parameters()
const;
65 std::vector<double> Params()
const;
66 std::vector<double> Errors()
const;
69 const MinuitParameter& Parameter(
unsigned int)
const;
72 bool Add(
const std::string &,
double,
double);
74 bool Add(
const std::string &,
double,
double,
double,
double);
76 bool Add(
const std::string &,
double);
79 void Fix(
unsigned int);
80 void Release(
unsigned int);
81 void RemoveLimits(
unsigned int);
82 void SetValue(
unsigned int,
double);
83 void SetError(
unsigned int,
double);
84 void SetLimits(
unsigned int,
double,
double);
85 void SetUpperLimit(
unsigned int,
double);
86 void SetLowerLimit(
unsigned int,
double);
87 void SetName(
unsigned int,
const std::string &);
89 double Value(
unsigned int)
const;
90 double Error(
unsigned int)
const;
93 void Fix(
const std::string &);
94 void Release(
const std::string &);
95 void SetValue(
const std::string &,
double);
96 void SetError(
const std::string &,
double);
97 void SetLimits(
const std::string &,
double,
double);
98 void SetUpperLimit(
const std::string &,
double);
99 void SetLowerLimit(
const std::string &,
double);
100 void RemoveLimits(
const std::string &);
102 double Value(
const std::string &)
const;
103 double Error(
const std::string &)
const;
106 unsigned int Index(
const std::string &)
const;
108 const std::string & GetName(
unsigned int)
const;
110 const char* Name(
unsigned int)
const;
112 const MnMachinePrecision& Precision()
const;
113 void SetPrecision(
double eps) {fTransformation.SetPrecision(eps);}
117 MnUserTransformation fTransformation;
124 #endif // ROOT_Minuit2_MnUserParameters