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

Description

API class for minimization using Fumili technology; allows for user interaction: set/change parameters, do minimization, change parameters, re-do minimization etc.; also used by MnMinos and MnContours;

Definition at line 38 of file MnFumiliMinimize.h.

Inheritance diagram for ROOT::Minuit2::MnFumiliMinimize:
[legend]
Collaboration diagram for ROOT::Minuit2::MnFumiliMinimize:
[legend]

Public Member Functions

 MnFumiliMinimize (const FumiliFCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FumiliFCNBase + MnUserParameters + MnUserCovariance More...
 
 MnFumiliMinimize (const FumiliFCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
 construct from FumiliFCNBase + MnUserParameters More...
 
 MnFumiliMinimize (const FumiliFCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
 construct from FumiliFCNBase + MnUserParameterState + MnStrategy More...
 
 MnFumiliMinimize (const FumiliFCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance More...
 
 MnFumiliMinimize (const FumiliFCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
 construct from FumiliFCNBase + std::vector for parameters and errors More...
 
 MnFumiliMinimize (const FumiliFCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
 construct from FumiliFCNBase + std::vector for parameters and covariance More...
 
 MnFumiliMinimize (const MnFumiliMinimize &migr)
 
virtual ~MnFumiliMinimize ()
 
void Add (const char *, double)
 
void Add (const char *Name, double val, double err)
 
void Add (const char *Name, double val, double err, double, double)
 
const MnUserCovarianceCovariance () const
 
double Error (const char *) const
 
double Error (unsigned int) const
 
std::vector< double > Errors () const
 
double Ext2int (unsigned int, double) const
 
unsigned int ExtOfInt (unsigned int) const
 
const FumiliFCNBaseFcnbase () const
 
void Fix (const char *)
 
void Fix (unsigned int)
 
unsigned int Index (const char *) const
 
double Int2ext (unsigned int, double) const
 
unsigned int IntOfExt (unsigned int) const
 
FumiliMinimizerMinimizer ()
 
const FumiliMinimizerMinimizer () const
 
const std::vector< ROOT::Minuit2::MinuitParameter > & MinuitParameters () const
 
const char * Name (unsigned int) const
 
unsigned int NumOfCalls () const
 
virtual FunctionMinimum operator() (unsigned int=0, double=0.1)
 overwrite Minimize to use FumiliFCNBase More...
 
const MinuitParameterParameter (unsigned int i) const
 
const MnUserParametersParameters () const
 
std::vector< double > Params () const
 
const MnMachinePrecisionPrecision () const
 
void Release (const char *)
 
void Release (unsigned int)
 
void RemoveLimits (const char *)
 
void RemoveLimits (unsigned int)
 
void SetError (const char *, double)
 
void SetError (unsigned int, double)
 
void SetLimits (const char *, double, double)
 
void SetLimits (unsigned int, double, double)
 
void SetPrecision (double)
 
void SetValue (const char *, double)
 
void SetValue (unsigned int, double)
 
const MnUserParameterStateState () const
 
const MnStrategyStrategy () const
 
double Value (const char *) const
 
double Value (unsigned int) const
 
unsigned int VariableParameters () const
 

Protected Attributes

unsigned int fNumCall
 
MnUserParameterState fState
 
MnStrategy fStrategy
 
bool fUseGrad
 

Private Member Functions

MnFumiliMinimizeoperator= (const MnFumiliMinimize &)
 

Private Attributes

const FumiliFCNBasefFCN
 
FumiliMinimizer fMinimizer
 

Constructor & Destructor Documentation

◆ MnFumiliMinimize() [1/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const std::vector< double > &  par,
const std::vector< double > &  err,
unsigned int  stra = 1 
)
inline

construct from FumiliFCNBase + std::vector for parameters and errors

Definition at line 43 of file MnFumiliMinimize.h.

43 : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}
MnApplication(const FCNBase &fcn, const MnUserParameterState &state, const MnStrategy &stra, unsigned int nfcn=0)
constructor from non-gradient functions

◆ MnFumiliMinimize() [2/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const std::vector< double > &  par,
unsigned int  nrow,
const std::vector< double > &  cov,
unsigned int  stra = 1 
)
inline

construct from FumiliFCNBase + std::vector for parameters and covariance

Definition at line 46 of file MnFumiliMinimize.h.

46 : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}

◆ MnFumiliMinimize() [3/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const std::vector< double > &  par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FumiliFCNBase + std::vector for parameters and MnUserCovariance

Definition at line 49 of file MnFumiliMinimize.h.

49 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}

◆ MnFumiliMinimize() [4/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const MnUserParameters par,
unsigned int  stra = 1 
)
inline

construct from FumiliFCNBase + MnUserParameters

Definition at line 52 of file MnFumiliMinimize.h.

52 : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}

◆ MnFumiliMinimize() [5/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const MnUserParameters par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FumiliFCNBase + MnUserParameters + MnUserCovariance

Definition at line 55 of file MnFumiliMinimize.h.

55 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}

◆ MnFumiliMinimize() [6/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const FumiliFCNBase fcn,
const MnUserParameterState par,
const MnStrategy str 
)
inline

construct from FumiliFCNBase + MnUserParameterState + MnStrategy

Definition at line 58 of file MnFumiliMinimize.h.

58 : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(FumiliMinimizer()), fFCN(fcn) {}

◆ MnFumiliMinimize() [7/7]

ROOT::Minuit2::MnFumiliMinimize::MnFumiliMinimize ( const MnFumiliMinimize migr)
inline

Definition at line 60 of file MnFumiliMinimize.h.

60 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer), fFCN(migr.Fcnbase()) {}

◆ ~MnFumiliMinimize()

virtual ROOT::Minuit2::MnFumiliMinimize::~MnFumiliMinimize ( )
inlinevirtual

Definition at line 62 of file MnFumiliMinimize.h.

62 { }

Member Function Documentation

◆ Add() [1/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  ,
double   
)
inherited

◆ Add() [2/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  Name,
double  val,
double  err 
)
inherited

◆ Add() [3/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  Name,
double  val,
double  err,
double  ,
double   
)
inherited

◆ Covariance()

const MnUserCovariance& ROOT::Minuit2::MnApplication::Covariance ( ) const
inlineinherited

Definition at line 67 of file MnApplication.h.

67 {return fState.Covariance();}
MnUserParameterState fState
Definition: MnApplication.h:75
const MnUserCovariance & Covariance() const

References ROOT::Minuit2::MnUserParameterState::Covariance(), and ROOT::Minuit2::MnApplication::fState.

Here is the call graph for this function:

◆ Error() [1/2]

double ROOT::Minuit2::MnApplication::Error ( const char *  ) const
inherited

◆ Error() [2/2]

double ROOT::Minuit2::MnApplication::Error ( unsigned int  ) const
inherited

◆ Errors()

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

◆ Ext2int()

double ROOT::Minuit2::MnApplication::Ext2int ( unsigned int  ,
double   
) const
inherited

◆ ExtOfInt()

unsigned int ROOT::Minuit2::MnApplication::ExtOfInt ( unsigned int  ) const
inherited

◆ Fcnbase()

const FumiliFCNBase& ROOT::Minuit2::MnFumiliMinimize::Fcnbase ( ) const
inlinevirtual

Reimplemented from ROOT::Minuit2::MnApplication.

Definition at line 67 of file MnFumiliMinimize.h.

67 { return fFCN; }

References fFCN.

◆ Fix() [1/2]

void ROOT::Minuit2::MnApplication::Fix ( const char *  )
inherited

◆ Fix() [2/2]

void ROOT::Minuit2::MnApplication::Fix ( unsigned int  )
inherited

◆ Index()

unsigned int ROOT::Minuit2::MnApplication::Index ( const char *  ) const
inherited

◆ Int2ext()

double ROOT::Minuit2::MnApplication::Int2ext ( unsigned int  ,
double   
) const
inherited

◆ IntOfExt()

unsigned int ROOT::Minuit2::MnApplication::IntOfExt ( unsigned int  ) const
inherited

◆ Minimizer() [1/2]

FumiliMinimizer& ROOT::Minuit2::MnFumiliMinimize::Minimizer ( )
inlinevirtual

Implements ROOT::Minuit2::MnApplication.

Definition at line 64 of file MnFumiliMinimize.h.

64 {return fMinimizer;}

References fMinimizer.

◆ Minimizer() [2/2]

const FumiliMinimizer& ROOT::Minuit2::MnFumiliMinimize::Minimizer ( ) const
inlinevirtual

Implements ROOT::Minuit2::MnApplication.

Definition at line 65 of file MnFumiliMinimize.h.

65 {return fMinimizer;}

References fMinimizer.

◆ MinuitParameters()

const std::vector<ROOT::Minuit2::MinuitParameter>& ROOT::Minuit2::MnApplication::MinuitParameters ( ) const
inherited

◆ Name()

const char* ROOT::Minuit2::MnApplication::Name ( unsigned int  ) const
inherited

◆ NumOfCalls()

unsigned int ROOT::Minuit2::MnApplication::NumOfCalls ( ) const
inlineinherited

Definition at line 70 of file MnApplication.h.

70 {return fNumCall;}

References ROOT::Minuit2::MnApplication::fNumCall.

◆ operator()()

virtual FunctionMinimum ROOT::Minuit2::MnFumiliMinimize::operator() ( unsigned int  = 0,
double  = 0.1 
)
virtual

overwrite Minimize to use FumiliFCNBase

Reimplemented from ROOT::Minuit2::MnApplication.

◆ operator=()

MnFumiliMinimize& ROOT::Minuit2::MnFumiliMinimize::operator= ( const MnFumiliMinimize )
inlineprivate

Definition at line 82 of file MnFumiliMinimize.h.

82 {return *this;}

◆ Parameter()

const MinuitParameter& ROOT::Minuit2::MnApplication::Parameter ( unsigned int  i) const
inherited

◆ Parameters()

const MnUserParameters& ROOT::Minuit2::MnApplication::Parameters ( ) const
inlineinherited

Definition at line 66 of file MnApplication.h.

66 {return fState.Parameters();}
const MnUserParameters & Parameters() const

References ROOT::Minuit2::MnApplication::fState, and ROOT::Minuit2::MnUserParameterState::Parameters().

Here is the call graph for this function:

◆ Params()

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

◆ Precision()

const MnMachinePrecision& ROOT::Minuit2::MnApplication::Precision ( ) const
inlineinherited

Definition at line 64 of file MnApplication.h.

64 {return fState.Precision();}
const MnMachinePrecision & Precision() const

References ROOT::Minuit2::MnApplication::fState, and ROOT::Minuit2::MnUserParameterState::Precision().

Here is the call graph for this function:

◆ Release() [1/2]

void ROOT::Minuit2::MnApplication::Release ( const char *  )
inherited

◆ Release() [2/2]

void ROOT::Minuit2::MnApplication::Release ( unsigned int  )
inherited

◆ RemoveLimits() [1/2]

void ROOT::Minuit2::MnApplication::RemoveLimits ( const char *  )
inherited

◆ RemoveLimits() [2/2]

void ROOT::Minuit2::MnApplication::RemoveLimits ( unsigned int  )
inherited

◆ SetError() [1/2]

void ROOT::Minuit2::MnApplication::SetError ( const char *  ,
double   
)
inherited

◆ SetError() [2/2]

void ROOT::Minuit2::MnApplication::SetError ( unsigned int  ,
double   
)
inherited

◆ SetLimits() [1/2]

void ROOT::Minuit2::MnApplication::SetLimits ( const char *  ,
double  ,
double   
)
inherited

◆ SetLimits() [2/2]

void ROOT::Minuit2::MnApplication::SetLimits ( unsigned int  ,
double  ,
double   
)
inherited

◆ SetPrecision()

void ROOT::Minuit2::MnApplication::SetPrecision ( double  )
inherited

◆ SetValue() [1/2]

void ROOT::Minuit2::MnApplication::SetValue ( const char *  ,
double   
)
inherited

◆ SetValue() [2/2]

void ROOT::Minuit2::MnApplication::SetValue ( unsigned int  ,
double   
)
inherited

◆ State()

const MnUserParameterState& ROOT::Minuit2::MnApplication::State ( ) const
inlineinherited

Definition at line 65 of file MnApplication.h.

65 {return fState;}

References ROOT::Minuit2::MnApplication::fState.

◆ Strategy()

const MnStrategy& ROOT::Minuit2::MnApplication::Strategy ( ) const
inlineinherited

Definition at line 69 of file MnApplication.h.

69 {return fStrategy;}

References ROOT::Minuit2::MnApplication::fStrategy.

◆ Value() [1/2]

double ROOT::Minuit2::MnApplication::Value ( const char *  ) const
inherited

◆ Value() [2/2]

double ROOT::Minuit2::MnApplication::Value ( unsigned int  ) const
inherited

◆ VariableParameters()

unsigned int ROOT::Minuit2::MnApplication::VariableParameters ( ) const
inherited

Member Data Documentation

◆ fFCN

const FumiliFCNBase& ROOT::Minuit2::MnFumiliMinimize::fFCN
private

Definition at line 77 of file MnFumiliMinimize.h.

Referenced by Fcnbase().

◆ fMinimizer

FumiliMinimizer ROOT::Minuit2::MnFumiliMinimize::fMinimizer
private

Definition at line 76 of file MnFumiliMinimize.h.

Referenced by Minimizer().

◆ fNumCall

unsigned int ROOT::Minuit2::MnApplication::fNumCall
protectedinherited

Definition at line 77 of file MnApplication.h.

Referenced by ROOT::Minuit2::MnApplication::NumOfCalls().

◆ fState

◆ fStrategy

MnStrategy ROOT::Minuit2::MnApplication::fStrategy
protectedinherited

Definition at line 76 of file MnApplication.h.

Referenced by ROOT::Minuit2::MnApplication::Strategy().

◆ fUseGrad

bool ROOT::Minuit2::MnApplication::fUseGrad
protectedinherited

Definition at line 78 of file MnApplication.h.


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