10 #ifndef ROOT_Minuit2_MinuitParameter
11 #define ROOT_Minuit2_MinuitParameter
33 class MinuitParameter {
39 fNum(0), fValue(0), fError(0.), fConst(false), fFix(false),
40 fLoLimit(0.), fUpLimit(0.), fLoLimValid(false), fUpLimValid(false),
45 MinuitParameter(
unsigned int num,
const std::string & name,
double val) :
46 fNum(num), fValue(val), fError(0.), fConst(true), fFix(false),
47 fLoLimit(0.), fUpLimit(0.), fLoLimValid(false), fUpLimValid(false),
52 MinuitParameter(
unsigned int num,
const std::string & name,
double val,
double err) :
53 fNum(num), fValue(val), fError(err), fConst(false), fFix(false),
54 fLoLimit(0.), fUpLimit(0.), fLoLimValid(false), fUpLimValid(false),
59 MinuitParameter(
unsigned int num,
const std::string & name,
double val,
double err,
60 double min,
double max) :
61 fNum(num),fValue(val), fError(err), fConst(false), fFix(false),
62 fLoLimit(min), fUpLimit(max), fLoLimValid(true), fUpLimValid(true),
74 MinuitParameter(
const MinuitParameter& par) :
75 fNum(par.fNum), fValue(par.fValue), fError(par.fError),
76 fConst(par.fConst), fFix(par.fFix), fLoLimit(par.fLoLimit),
77 fUpLimit(par.fUpLimit), fLoLimValid(par.fLoLimValid),
78 fUpLimValid(par.fUpLimValid),
82 MinuitParameter& operator=(
const MinuitParameter& par) {
90 fLoLimit = par.fLoLimit;
91 fUpLimit = par.fUpLimit;
92 fLoLimValid = par.fLoLimValid;
93 fUpLimValid = par.fUpLimValid;
99 unsigned int Number()
const {
return fNum;}
101 const std::string & GetName()
const {
return fName; }
103 const char * Name()
const {
return fName.c_str();}
105 double Value()
const {
return fValue;}
106 double Error()
const {
return fError;}
109 void SetName(
const std::string &name) { fName = name; }
111 void SetValue(
double val) {fValue = val;}
112 void SetError(
double err) {fError = err;}
113 void SetLimits(
double low,
double up) {
125 void SetUpperLimit(
double up) {
132 void SetLowerLimit(
double low) {
139 void RemoveLimits() {
146 void Fix() {fFix =
true;}
147 void Release() {fFix =
false;}
150 bool IsConst()
const {
return fConst;}
151 bool IsFixed()
const {
return fFix;}
153 bool HasLimits()
const {
return fLoLimValid || fUpLimValid; }
154 bool HasLowerLimit()
const {
return fLoLimValid; }
155 bool HasUpperLimit()
const {
return fUpLimValid; }
156 double LowerLimit()
const {
return fLoLimit;}
157 double UpperLimit()
const {
return fUpLimit;}
187 #endif // ROOT_Minuit2_MinuitParameter