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::MnUserTransformation Class Reference

Description

class dealing with the transformation between user specified parameters (external) and internal parameters used for minimization

Definition at line 38 of file MnUserTransformation.h.

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

Public Member Functions

 MnUserTransformation ()
 
 MnUserTransformation (const MnUserTransformation &trafo)
 
 MnUserTransformation (const std::vector< double > &, const std::vector< double > &)
 
 ~MnUserTransformation ()
 
bool Add (const std::string &, double)
 
bool Add (const std::string &, double, double)
 
bool Add (const std::string &, double, double, double, double)
 
double DInt2Ext (unsigned int, double) const
 
double Error (const std::string &) const
 
double Error (unsigned int) const
 
std::vector< double > Errors () const
 
double Ext2int (unsigned int, double) const
 
unsigned int ExtOfInt (unsigned int internal) const
 
int FindIndex (const std::string &) const
 
void Fix (const std::string &)
 
void Fix (unsigned int)
 
const std::string & GetName (unsigned int) const
 
unsigned int Index (const std::string &) const
 
const std::vector< double > & InitialParValues () const
 
double Int2ext (unsigned int, double) const
 
MnUserCovariance Int2extCovariance (const MnAlgebraicVector &, const MnAlgebraicSymMatrix &) const
 
double Int2extError (unsigned int, double, double) const
 
unsigned int IntOfExt (unsigned int) const
 
const char * Name (unsigned int) const
 
std::vector< double > operator() (const MnAlgebraicVector &) const
 
MnUserTransformationoperator= (const MnUserTransformation &trafo)
 
const MinuitParameterParameter (unsigned int) const
 
const std::vector< MinuitParameter > & Parameters () const
 
std::vector< double > Params () const
 access to parameters and errors in column-wise representation More...
 
const MnMachinePrecisionPrecision () const
 
void Release (const std::string &)
 
void Release (unsigned int)
 
void RemoveLimits (const std::string &)
 
void RemoveLimits (unsigned int)
 
void SetError (const std::string &, double)
 
void SetError (unsigned int, double)
 
void SetLimits (const std::string &, double, double)
 
void SetLimits (unsigned int, double, double)
 
void SetLowerLimit (const std::string &, double)
 
void SetLowerLimit (unsigned int, double)
 
void SetName (unsigned int, const std::string &)
 
void SetPrecision (double eps)
 
void SetUpperLimit (const std::string &, double)
 
void SetUpperLimit (unsigned int, double)
 
void SetValue (const std::string &, double)
 
void SetValue (unsigned int, double)
 
double Value (const std::string &) const
 
double Value (unsigned int) const
 
unsigned int VariableParameters () const
 

Private Attributes

std::vector< double > fCache
 
SinParameterTransformation fDoubleLimTrafo
 
std::vector< unsigned int > fExtOfInt
 
SqrtLowParameterTransformation fLowerLimTrafo
 
std::vector< MinuitParameterfParameters
 
MnMachinePrecision fPrecision
 
SqrtUpParameterTransformation fUpperLimTrafo
 

Constructor & Destructor Documentation

◆ MnUserTransformation() [1/3]

ROOT::Minuit2::MnUserTransformation::MnUserTransformation ( )
inline

Definition at line 42 of file MnUserTransformation.h.

42  : fPrecision(MnMachinePrecision()),
43  fParameters(std::vector<MinuitParameter>()),
44  fExtOfInt(std::vector<unsigned int>()),
45  fDoubleLimTrafo(SinParameterTransformation()),
46  fUpperLimTrafo(SqrtUpParameterTransformation()),
47  fLowerLimTrafo(SqrtLowParameterTransformation()),
48  fCache(std::vector<double>()) {}
std::vector< MinuitParameter > fParameters
std::vector< unsigned int > fExtOfInt
SqrtLowParameterTransformation fLowerLimTrafo
SinParameterTransformation fDoubleLimTrafo
SqrtUpParameterTransformation fUpperLimTrafo

◆ MnUserTransformation() [2/3]

ROOT::Minuit2::MnUserTransformation::MnUserTransformation ( const std::vector< double > &  ,
const std::vector< double > &   
)

◆ ~MnUserTransformation()

ROOT::Minuit2::MnUserTransformation::~MnUserTransformation ( )
inline

Definition at line 52 of file MnUserTransformation.h.

52 {}

◆ MnUserTransformation() [3/3]

ROOT::Minuit2::MnUserTransformation::MnUserTransformation ( const MnUserTransformation trafo)
inline

Definition at line 54 of file MnUserTransformation.h.

54  :
55  fPrecision(trafo.fPrecision),
56  fParameters(trafo.fParameters),fExtOfInt(trafo.fExtOfInt),
57  fDoubleLimTrafo(trafo.fDoubleLimTrafo),
58  fUpperLimTrafo(trafo.fUpperLimTrafo),
59  fLowerLimTrafo(trafo.fLowerLimTrafo), fCache(trafo.fCache) {}

Member Function Documentation

◆ Add() [1/3]

bool ROOT::Minuit2::MnUserTransformation::Add ( const std::string &  ,
double   
)

◆ Add() [2/3]

bool ROOT::Minuit2::MnUserTransformation::Add ( const std::string &  ,
double  ,
double   
)

◆ Add() [3/3]

bool ROOT::Minuit2::MnUserTransformation::Add ( const std::string &  ,
double  ,
double  ,
double  ,
double   
)

◆ DInt2Ext()

double ROOT::Minuit2::MnUserTransformation::DInt2Ext ( unsigned int  ,
double   
) const

◆ Error() [1/2]

double ROOT::Minuit2::MnUserTransformation::Error ( const std::string &  ) const

◆ Error() [2/2]

double ROOT::Minuit2::MnUserTransformation::Error ( unsigned int  ) const

◆ Errors()

std::vector<double> ROOT::Minuit2::MnUserTransformation::Errors ( ) const

◆ Ext2int()

double ROOT::Minuit2::MnUserTransformation::Ext2int ( unsigned int  ,
double   
) const

◆ ExtOfInt()

unsigned int ROOT::Minuit2::MnUserTransformation::ExtOfInt ( unsigned int  internal) const
inline

Definition at line 103 of file MnUserTransformation.h.

103  {
104  assert(internal < fExtOfInt.size());
105  return fExtOfInt[internal];
106  }

References fExtOfInt.

◆ FindIndex()

int ROOT::Minuit2::MnUserTransformation::FindIndex ( const std::string &  ) const

◆ Fix() [1/2]

void ROOT::Minuit2::MnUserTransformation::Fix ( const std::string &  )

◆ Fix() [2/2]

void ROOT::Minuit2::MnUserTransformation::Fix ( unsigned int  )

◆ GetName()

const std::string& ROOT::Minuit2::MnUserTransformation::GetName ( unsigned int  ) const

◆ Index()

unsigned int ROOT::Minuit2::MnUserTransformation::Index ( const std::string &  ) const

◆ InitialParValues()

const std::vector<double>& ROOT::Minuit2::MnUserTransformation::InitialParValues ( ) const
inline

Definition at line 115 of file MnUserTransformation.h.

115  {
116  return fCache;
117  }

References fCache.

◆ Int2ext()

double ROOT::Minuit2::MnUserTransformation::Int2ext ( unsigned int  ,
double   
) const

◆ Int2extCovariance()

MnUserCovariance ROOT::Minuit2::MnUserTransformation::Int2extCovariance ( const MnAlgebraicVector ,
const MnAlgebraicSymMatrix  
) const

◆ Int2extError()

double ROOT::Minuit2::MnUserTransformation::Int2extError ( unsigned int  ,
double  ,
double   
) const

◆ IntOfExt()

unsigned int ROOT::Minuit2::MnUserTransformation::IntOfExt ( unsigned int  ) const

◆ Name()

const char* ROOT::Minuit2::MnUserTransformation::Name ( unsigned int  ) const

◆ operator()()

std::vector<double> ROOT::Minuit2::MnUserTransformation::operator() ( const MnAlgebraicVector ) const

◆ operator=()

MnUserTransformation& ROOT::Minuit2::MnUserTransformation::operator= ( const MnUserTransformation trafo)
inline

Definition at line 61 of file MnUserTransformation.h.

61  {
62  if(this != &trafo) {
63  fPrecision = trafo.fPrecision;
64  fParameters = trafo.fParameters;
65  fExtOfInt = trafo.fExtOfInt;
66  fDoubleLimTrafo = trafo.fDoubleLimTrafo;
67  fUpperLimTrafo = trafo.fUpperLimTrafo;
68  fLowerLimTrafo = trafo.fLowerLimTrafo;
69  fCache = trafo.fCache;
70  }
71  return *this;
72  }

References fCache, fDoubleLimTrafo, fExtOfInt, fLowerLimTrafo, fParameters, fPrecision, and fUpperLimTrafo.

◆ Parameter()

const MinuitParameter& ROOT::Minuit2::MnUserTransformation::Parameter ( unsigned int  ) const

◆ Parameters()

const std::vector<MinuitParameter>& ROOT::Minuit2::MnUserTransformation::Parameters ( ) const
inline

Definition at line 108 of file MnUserTransformation.h.

108  {
109  return fParameters;
110  }

References fParameters.

◆ Params()

std::vector<double> ROOT::Minuit2::MnUserTransformation::Params ( ) const

access to parameters and errors in column-wise representation

◆ Precision()

const MnMachinePrecision& ROOT::Minuit2::MnUserTransformation::Precision ( ) const
inline

forwarded interface

Definition at line 122 of file MnUserTransformation.h.

122 {return fPrecision;}

References fPrecision.

Referenced by ROOT::Minuit2::BasicMinimumSeed::Precision().

◆ Release() [1/2]

void ROOT::Minuit2::MnUserTransformation::Release ( const std::string &  )

◆ Release() [2/2]

void ROOT::Minuit2::MnUserTransformation::Release ( unsigned int  )

◆ RemoveLimits() [1/2]

void ROOT::Minuit2::MnUserTransformation::RemoveLimits ( const std::string &  )

◆ RemoveLimits() [2/2]

void ROOT::Minuit2::MnUserTransformation::RemoveLimits ( unsigned int  )

◆ SetError() [1/2]

void ROOT::Minuit2::MnUserTransformation::SetError ( const std::string &  ,
double   
)

◆ SetError() [2/2]

void ROOT::Minuit2::MnUserTransformation::SetError ( unsigned int  ,
double   
)

◆ SetLimits() [1/2]

void ROOT::Minuit2::MnUserTransformation::SetLimits ( const std::string &  ,
double  ,
double   
)

◆ SetLimits() [2/2]

void ROOT::Minuit2::MnUserTransformation::SetLimits ( unsigned int  ,
double  ,
double   
)

◆ SetLowerLimit() [1/2]

void ROOT::Minuit2::MnUserTransformation::SetLowerLimit ( const std::string &  ,
double   
)

◆ SetLowerLimit() [2/2]

void ROOT::Minuit2::MnUserTransformation::SetLowerLimit ( unsigned int  ,
double   
)

◆ SetName()

void ROOT::Minuit2::MnUserTransformation::SetName ( unsigned int  ,
const std::string &   
)

◆ SetPrecision()

void ROOT::Minuit2::MnUserTransformation::SetPrecision ( double  eps)
inline

Definition at line 123 of file MnUserTransformation.h.

123 {fPrecision.SetPrecision(eps);}
void SetPrecision(double prec)
override Minuit's own determination

References fPrecision, and ROOT::Minuit2::MnMachinePrecision::SetPrecision().

Referenced by ROOT::Minuit2::MnUserParameters::SetPrecision().

Here is the call graph for this function:

◆ SetUpperLimit() [1/2]

void ROOT::Minuit2::MnUserTransformation::SetUpperLimit ( const std::string &  ,
double   
)

◆ SetUpperLimit() [2/2]

void ROOT::Minuit2::MnUserTransformation::SetUpperLimit ( unsigned int  ,
double   
)

◆ SetValue() [1/2]

void ROOT::Minuit2::MnUserTransformation::SetValue ( const std::string &  ,
double   
)

◆ SetValue() [2/2]

void ROOT::Minuit2::MnUserTransformation::SetValue ( unsigned int  ,
double   
)

◆ Value() [1/2]

double ROOT::Minuit2::MnUserTransformation::Value ( const std::string &  ) const

◆ Value() [2/2]

double ROOT::Minuit2::MnUserTransformation::Value ( unsigned int  ) const

◆ VariableParameters()

unsigned int ROOT::Minuit2::MnUserTransformation::VariableParameters ( ) const
inline

Definition at line 112 of file MnUserTransformation.h.

112 {return static_cast<unsigned int> ( fExtOfInt.size() );}

References fExtOfInt.

Referenced by ROOT::Minuit2::MnUserParameters::VariableParameters().

Member Data Documentation

◆ fCache

std::vector<double> ROOT::Minuit2::MnUserTransformation::fCache
mutableprivate

Definition at line 188 of file MnUserTransformation.h.

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

◆ fDoubleLimTrafo

SinParameterTransformation ROOT::Minuit2::MnUserTransformation::fDoubleLimTrafo
private

Definition at line 184 of file MnUserTransformation.h.

Referenced by operator=().

◆ fExtOfInt

std::vector<unsigned int> ROOT::Minuit2::MnUserTransformation::fExtOfInt
private

Definition at line 182 of file MnUserTransformation.h.

Referenced by ExtOfInt(), operator=(), and VariableParameters().

◆ fLowerLimTrafo

SqrtLowParameterTransformation ROOT::Minuit2::MnUserTransformation::fLowerLimTrafo
private

Definition at line 186 of file MnUserTransformation.h.

Referenced by operator=().

◆ fParameters

std::vector<MinuitParameter> ROOT::Minuit2::MnUserTransformation::fParameters
private

Definition at line 181 of file MnUserTransformation.h.

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

◆ fPrecision

MnMachinePrecision ROOT::Minuit2::MnUserTransformation::fPrecision
private

Definition at line 179 of file MnUserTransformation.h.

Referenced by operator=(), Precision(), and SetPrecision().

◆ fUpperLimTrafo

SqrtUpParameterTransformation ROOT::Minuit2::MnUserTransformation::fUpperLimTrafo
private

Definition at line 185 of file MnUserTransformation.h.

Referenced by operator=().


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