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

Description

Builds the FunctionMinimum using the Fumili method.

Author
Andras Zsenei, Creation date: 29 Sep 2004
See also
MINUIT Tutorial on function minimization, section 5
Todo:
the role of the strategy in Fumili

Definition at line 40 of file FumiliBuilder.h.

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

Public Member Functions

 FumiliBuilder ()
 
 ~FumiliBuilder ()
 
const FumiliErrorUpdatorErrorUpdator () const
 
const VariableMetricEDMEstimatorEstimator () const
 
virtual FunctionMinimum Minimum (const MnFcn &fMnFcn, const GradientCalculator &fGradienCalculator, const MinimumSeed &fMinimumSeed, const MnStrategy &fMnStrategy, unsigned int maxfcn, double edmval) const
 
FunctionMinimum Minimum (const MnFcn &fMnFcn, const GradientCalculator &fGradienCalculator, const MinimumSeed &fMinimumSeed, std::vector< MinimumState > &states, unsigned int maxfcn, double edmval) const
 
int PrintLevel () const
 
virtual void SetPrintLevel (int level)
 
virtual void SetStorageLevel (int level)
 
virtual void SetTraceObject (MnTraceObject &obj)
 
int StorageLevel () const
 
bool TraceIter () const
 
void TraceIteration (int iter, const MinimumState &state) const
 
MnTraceObjectTraceObject () const
 

Private Attributes

FumiliErrorUpdator fErrorUpdator
 
VariableMetricEDMEstimator fEstimator
 
int fPrintLevel
 
int fStorageLevel
 
MnTraceObjectfTracer
 

Constructor & Destructor Documentation

◆ FumiliBuilder()

ROOT::Minuit2::FumiliBuilder::FumiliBuilder ( )
inline

Definition at line 44 of file FumiliBuilder.h.

44  : fEstimator(VariableMetricEDMEstimator()),
45  fErrorUpdator(FumiliErrorUpdator()) {}
VariableMetricEDMEstimator fEstimator
FumiliErrorUpdator fErrorUpdator

◆ ~FumiliBuilder()

ROOT::Minuit2::FumiliBuilder::~FumiliBuilder ( )
inline

Definition at line 47 of file FumiliBuilder.h.

47 {}

Member Function Documentation

◆ ErrorUpdator()

const FumiliErrorUpdator& ROOT::Minuit2::FumiliBuilder::ErrorUpdator ( ) const
inline

Accessor to the Error updator of the builder.

Returns
The FumiliErrorUpdator used by the FumiliBuilder.

Definition at line 130 of file FumiliBuilder.h.

130 {return fErrorUpdator;}

References fErrorUpdator.

◆ Estimator()

const VariableMetricEDMEstimator& ROOT::Minuit2::FumiliBuilder::Estimator ( ) const
inline

Accessor to the EDM (expected vertical distance to the Minimum) estimator.

Returns
The EDM estimator used in the builder.
Todo:
Maybe a little explanation concerning EDM in all relevant classes.

Definition at line 119 of file FumiliBuilder.h.

119 {return fEstimator;}

References fEstimator.

◆ Minimum() [1/2]

virtual FunctionMinimum ROOT::Minuit2::FumiliBuilder::Minimum ( const MnFcn fMnFcn,
const GradientCalculator fGradienCalculator,
const MinimumSeed fMinimumSeed,
const MnStrategy fMnStrategy,
unsigned int  maxfcn,
double  edmval 
) const
virtual

Class the member function calculating the Minimum and verifies the result depending on the strategy.

Parameters
fMnFcnthe function to be minimized.
fGradienCalculatornot used in Fumili.
fMinimumSeedthe seed generator.
fMnStrategythe strategy describing the number of function calls allowed for Gradient calculations.
maxfcnmaximum number of function calls after which the calculation will be stopped even if it has not yet converged.
edmvalexpected vertical distance to the Minimum.
Returns
Returns the function Minimum found.
Todo:
Complete the documentation by understanding what is the reason to have two Minimum methods.

Implements ROOT::Minuit2::MinimumBuilder.

◆ Minimum() [2/2]

FunctionMinimum ROOT::Minuit2::FumiliBuilder::Minimum ( const MnFcn fMnFcn,
const GradientCalculator fGradienCalculator,
const MinimumSeed fMinimumSeed,
std::vector< MinimumState > &  states,
unsigned int  maxfcn,
double  edmval 
) const

Calculates the Minimum based on the Fumili method

Parameters
fMnFcnthe function to be minimized.
fGradienCalculatornot used in Fumili
fMinimumSeedthe seed generator.
statesvector containing the state result of each iteration
maxfcnmaximum number of function calls after which the calculation will be stopped even if it has not yet converged.
edmvalexpected vertical distance to the Minimum
Returns
Returns the function Minimum found.
See also
MINUIT Tutorial on function minimization, section 5
Todo:
some nice Latex based formula here...

◆ PrintLevel()

int ROOT::Minuit2::MinimumBuilder::PrintLevel ( ) const
inlineinherited

Definition at line 38 of file MinimumBuilder.h.

References ROOT::Minuit2::MinimumBuilder::fPrintLevel.

◆ SetPrintLevel()

virtual void ROOT::Minuit2::MinimumBuilder::SetPrintLevel ( int  level)
inlinevirtualinherited

◆ SetStorageLevel()

virtual void ROOT::Minuit2::MinimumBuilder::SetStorageLevel ( int  level)
inlinevirtualinherited

◆ SetTraceObject()

virtual void ROOT::Minuit2::MinimumBuilder::SetTraceObject ( MnTraceObject obj)
inlinevirtualinherited

Reimplemented in ROOT::Minuit2::CombinedMinimumBuilder.

Definition at line 47 of file MinimumBuilder.h.

47  {
48  fTracer = &obj;
49  }

References ROOT::Minuit2::MinimumBuilder::fTracer.

Referenced by ROOT::Minuit2::CombinedMinimumBuilder::SetTraceObject().

◆ StorageLevel()

int ROOT::Minuit2::MinimumBuilder::StorageLevel ( ) const
inlineinherited

Definition at line 37 of file MinimumBuilder.h.

37 { return fStorageLevel; }

References ROOT::Minuit2::MinimumBuilder::fStorageLevel.

◆ TraceIter()

bool ROOT::Minuit2::MinimumBuilder::TraceIter ( ) const
inlineinherited

Definition at line 40 of file MinimumBuilder.h.

40 { return (fTracer); }

References ROOT::Minuit2::MinimumBuilder::fTracer.

◆ TraceIteration()

void ROOT::Minuit2::MinimumBuilder::TraceIteration ( int  iter,
const MinimumState state 
) const
inlineinherited

Definition at line 51 of file MinimumBuilder.h.

51  {
52  if (fTracer) (*fTracer)(iter, state);
53  }

References ROOT::Minuit2::MinimumBuilder::fTracer.

◆ TraceObject()

MnTraceObject* ROOT::Minuit2::MinimumBuilder::TraceObject ( ) const
inlineinherited

Definition at line 41 of file MinimumBuilder.h.

41 { return (fTracer); }

References ROOT::Minuit2::MinimumBuilder::fTracer.

Member Data Documentation

◆ fErrorUpdator

FumiliErrorUpdator ROOT::Minuit2::FumiliBuilder::fErrorUpdator
private

Definition at line 136 of file FumiliBuilder.h.

Referenced by ErrorUpdator().

◆ fEstimator

VariableMetricEDMEstimator ROOT::Minuit2::FumiliBuilder::fEstimator
private

Definition at line 135 of file FumiliBuilder.h.

Referenced by Estimator().

◆ fPrintLevel

int ROOT::Minuit2::MinimumBuilder::fPrintLevel
privateinherited

◆ fStorageLevel

int ROOT::Minuit2::MinimumBuilder::fStorageLevel
privateinherited

◆ fTracer


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