BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ROOT::Minuit2::MinuitParameter Class Reference

Description

class for the individual Minuit Parameter with Name and number; contains the input numbers for the minimization or the output result from minimization; possible interactions: Fix/release, set/remove limits, set Value/error;

From version 5.20: use string to store the name to avoid limitation of name length of 20 characters

Definition at line 33 of file MinuitParameter.h.

Collaboration diagram for ROOT::Minuit2::MinuitParameter:
[legend]

Public Member Functions

 MinuitParameter ()
 
 MinuitParameter (const MinuitParameter &par)
 
 MinuitParameter (unsigned int num, const std::string &name, double val)
 
 MinuitParameter (unsigned int num, const std::string &name, double val, double err)
 
 MinuitParameter (unsigned int num, const std::string &name, double val, double err, double min, double max)
 
 ~MinuitParameter ()
 
double Error () const
 
void Fix ()
 
const std::string & GetName () const
 
bool HasLimits () const
 
bool HasLowerLimit () const
 
bool HasUpperLimit () const
 
bool IsConst () const
 
bool IsFixed () const
 
double LowerLimit () const
 
const char * Name () const
 
unsigned int Number () const
 
MinuitParameteroperator= (const MinuitParameter &par)
 
void Release ()
 
void RemoveLimits ()
 
void SetError (double err)
 
void SetLimits (double low, double up)
 
void SetLowerLimit (double low)
 
void SetName (const std::string &name)
 
void SetUpperLimit (double up)
 
void SetValue (double val)
 
double UpperLimit () const
 
double Value () const
 

Private Attributes

bool fConst
 
double fError
 
bool fFix
 
double fLoLimit
 
bool fLoLimValid
 
std::string fName
 
unsigned int fNum
 
double fUpLimit
 
bool fUpLimValid
 
double fValue
 

Constructor & Destructor Documentation

◆ MinuitParameter() [1/5]

ROOT::Minuit2::MinuitParameter::MinuitParameter ( )
inline

◆ MinuitParameter() [2/5]

ROOT::Minuit2::MinuitParameter::MinuitParameter ( unsigned int  num,
const std::string &  name,
double  val 
)
inline

Definition at line 45 of file MinuitParameter.h.

45  :
46  fNum(num), fValue(val), fError(0.), fConst(true), fFix(false),
47  fLoLimit(0.), fUpLimit(0.), fLoLimValid(false), fUpLimValid(false),
48  fName(name)
49  {}

◆ MinuitParameter() [3/5]

ROOT::Minuit2::MinuitParameter::MinuitParameter ( unsigned int  num,
const std::string &  name,
double  val,
double  err 
)
inline

Definition at line 52 of file MinuitParameter.h.

52  :
53  fNum(num), fValue(val), fError(err), fConst(false), fFix(false),
54  fLoLimit(0.), fUpLimit(0.), fLoLimValid(false), fUpLimValid(false),
55  fName(name)
56  {}

◆ MinuitParameter() [4/5]

ROOT::Minuit2::MinuitParameter::MinuitParameter ( unsigned int  num,
const std::string &  name,
double  val,
double  err,
double  min,
double  max 
)
inline

Definition at line 59 of file MinuitParameter.h.

60  :
61  fNum(num),fValue(val), fError(err), fConst(false), fFix(false),
62  fLoLimit(min), fUpLimit(max), fLoLimValid(true), fUpLimValid(true),
63  fName(name)
64  {
65  assert(min != max);
66  if(min > max) {
67  fLoLimit = max;
68  fUpLimit = min;
69  }
70  }

References fLoLimit, and fUpLimit.

◆ ~MinuitParameter()

ROOT::Minuit2::MinuitParameter::~MinuitParameter ( )
inline

Definition at line 72 of file MinuitParameter.h.

72 {}

◆ MinuitParameter() [5/5]

ROOT::Minuit2::MinuitParameter::MinuitParameter ( const MinuitParameter par)
inline

Definition at line 74 of file MinuitParameter.h.

74  :
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),
79  fName(par.fName )
80  {}

Member Function Documentation

◆ Error()

double ROOT::Minuit2::MinuitParameter::Error ( ) const
inline

Definition at line 106 of file MinuitParameter.h.

106 {return fError;}

References fError.

◆ Fix()

void ROOT::Minuit2::MinuitParameter::Fix ( )
inline

Definition at line 146 of file MinuitParameter.h.

146 {fFix = true;}

References fFix.

◆ GetName()

const std::string& ROOT::Minuit2::MinuitParameter::GetName ( ) const
inline

Definition at line 101 of file MinuitParameter.h.

101 { return fName; }

References fName.

◆ HasLimits()

bool ROOT::Minuit2::MinuitParameter::HasLimits ( ) const
inline

Definition at line 153 of file MinuitParameter.h.

153 {return fLoLimValid || fUpLimValid; }

References fLoLimValid, and fUpLimValid.

◆ HasLowerLimit()

bool ROOT::Minuit2::MinuitParameter::HasLowerLimit ( ) const
inline

Definition at line 154 of file MinuitParameter.h.

154 {return fLoLimValid; }

References fLoLimValid.

◆ HasUpperLimit()

bool ROOT::Minuit2::MinuitParameter::HasUpperLimit ( ) const
inline

Definition at line 155 of file MinuitParameter.h.

155 {return fUpLimValid; }

References fUpLimValid.

◆ IsConst()

bool ROOT::Minuit2::MinuitParameter::IsConst ( ) const
inline

Definition at line 150 of file MinuitParameter.h.

150 {return fConst;}

References fConst.

◆ IsFixed()

bool ROOT::Minuit2::MinuitParameter::IsFixed ( ) const
inline

Definition at line 151 of file MinuitParameter.h.

151 {return fFix;}

References fFix.

◆ LowerLimit()

double ROOT::Minuit2::MinuitParameter::LowerLimit ( ) const
inline

Definition at line 156 of file MinuitParameter.h.

156 {return fLoLimit;}

References fLoLimit.

Referenced by ROOT::Minuit2::MinosError::Lower().

◆ Name()

const char* ROOT::Minuit2::MinuitParameter::Name ( ) const
inline

Definition at line 103 of file MinuitParameter.h.

103 {return fName.c_str();}

References fName.

◆ Number()

unsigned int ROOT::Minuit2::MinuitParameter::Number ( ) const
inline

Definition at line 99 of file MinuitParameter.h.

99 {return fNum;}

References fNum.

◆ operator=()

MinuitParameter& ROOT::Minuit2::MinuitParameter::operator= ( const MinuitParameter par)
inline

Definition at line 82 of file MinuitParameter.h.

82  {
83  if(this != &par) {
84  fNum = par.fNum;
85  fName = par.fName;
86  fValue = par.fValue;
87  fError = par.fError;
88  fConst = par.fConst;
89  fFix = par.fFix;
90  fLoLimit = par.fLoLimit;
91  fUpLimit = par.fUpLimit;
92  fLoLimValid = par.fLoLimValid;
93  fUpLimValid = par.fUpLimValid;
94  }
95  return *this;
96  }

References fConst, fError, fFix, fLoLimit, fLoLimValid, fName, fNum, fUpLimit, fUpLimValid, and fValue.

◆ Release()

void ROOT::Minuit2::MinuitParameter::Release ( )
inline

Definition at line 147 of file MinuitParameter.h.

147 {fFix = false;}

References fFix.

◆ RemoveLimits()

void ROOT::Minuit2::MinuitParameter::RemoveLimits ( )
inline

Definition at line 139 of file MinuitParameter.h.

139  {
140  fLoLimit = 0.;
141  fUpLimit = 0.;
142  fLoLimValid = false;
143  fUpLimValid = false;
144  }

References fLoLimit, fLoLimValid, fUpLimit, and fUpLimValid.

◆ SetError()

void ROOT::Minuit2::MinuitParameter::SetError ( double  err)
inline

Definition at line 112 of file MinuitParameter.h.

112 {fError = err;}

References fError.

◆ SetLimits()

void ROOT::Minuit2::MinuitParameter::SetLimits ( double  low,
double  up 
)
inline

Definition at line 113 of file MinuitParameter.h.

113  {
114  assert(low != up);
115  fLoLimit = low;
116  fUpLimit = up;
117  fLoLimValid = true;
118  fUpLimValid = true;
119  if(low > up) {
120  fLoLimit = up;
121  fUpLimit = low;
122  }
123  }

References fLoLimit, fLoLimValid, fUpLimit, and fUpLimValid.

◆ SetLowerLimit()

void ROOT::Minuit2::MinuitParameter::SetLowerLimit ( double  low)
inline

Definition at line 132 of file MinuitParameter.h.

132  {
133  fLoLimit = low;
134  fUpLimit = 0.;
135  fLoLimValid = true;
136  fUpLimValid = false;
137  }

References fLoLimit, fLoLimValid, fUpLimit, and fUpLimValid.

◆ SetName()

void ROOT::Minuit2::MinuitParameter::SetName ( const std::string &  name)
inline

Definition at line 109 of file MinuitParameter.h.

109 { fName = name; }

References fName.

◆ SetUpperLimit()

void ROOT::Minuit2::MinuitParameter::SetUpperLimit ( double  up)
inline

Definition at line 125 of file MinuitParameter.h.

125  {
126  fLoLimit = 0.;
127  fUpLimit = up;
128  fLoLimValid = false;
129  fUpLimValid = true;
130  }

References fLoLimit, fLoLimValid, fUpLimit, and fUpLimValid.

◆ SetValue()

void ROOT::Minuit2::MinuitParameter::SetValue ( double  val)
inline

Definition at line 111 of file MinuitParameter.h.

111 {fValue = val;}

References fValue.

◆ UpperLimit()

double ROOT::Minuit2::MinuitParameter::UpperLimit ( ) const
inline

Definition at line 157 of file MinuitParameter.h.

157 {return fUpLimit;}

References fUpLimit.

Referenced by ROOT::Minuit2::MinosError::Upper().

◆ Value()

double ROOT::Minuit2::MinuitParameter::Value ( ) const
inline

Definition at line 105 of file MinuitParameter.h.

105 {return fValue;}

References fValue.

Member Data Documentation

◆ fConst

bool ROOT::Minuit2::MinuitParameter::fConst
private

Definition at line 164 of file MinuitParameter.h.

Referenced by IsConst(), and operator=().

◆ fError

double ROOT::Minuit2::MinuitParameter::fError
private

Definition at line 163 of file MinuitParameter.h.

Referenced by Error(), operator=(), and SetError().

◆ fFix

bool ROOT::Minuit2::MinuitParameter::fFix
private

Definition at line 165 of file MinuitParameter.h.

Referenced by Fix(), IsFixed(), operator=(), and Release().

◆ fLoLimit

double ROOT::Minuit2::MinuitParameter::fLoLimit
private

◆ fLoLimValid

bool ROOT::Minuit2::MinuitParameter::fLoLimValid
private

◆ fName

std::string ROOT::Minuit2::MinuitParameter::fName
private

Definition at line 170 of file MinuitParameter.h.

Referenced by GetName(), Name(), operator=(), and SetName().

◆ fNum

unsigned int ROOT::Minuit2::MinuitParameter::fNum
private

Definition at line 161 of file MinuitParameter.h.

Referenced by Number(), and operator=().

◆ fUpLimit

double ROOT::Minuit2::MinuitParameter::fUpLimit
private

◆ fUpLimValid

bool ROOT::Minuit2::MinuitParameter::fUpLimValid
private

◆ fValue

double ROOT::Minuit2::MinuitParameter::fValue
private

Definition at line 162 of file MinuitParameter.h.

Referenced by operator=(), SetValue(), and Value().


The documentation for this class was generated from the following file: