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

Description

Build (find) function minimum using the Variable Metric method (MIGRAD) Two possible error updators can be choosen

Definition at line 34 of file VariableMetricBuilder.h.

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

Public Types

enum  ErrorUpdatorType { kDavidon , kBFGS }
 

Public Member Functions

 VariableMetricBuilder (ErrorUpdatorType type=kDavidon)
 
 ~VariableMetricBuilder ()
 
void AddResult (std::vector< MinimumState > &result, const MinimumState &state) const
 
const MinimumErrorUpdatorErrorUpdator () const
 
const VariableMetricEDMEstimatorEstimator () const
 
virtual FunctionMinimum Minimum (const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &, unsigned int, double) const
 
FunctionMinimum Minimum (const MnFcn &, const GradientCalculator &, const MinimumSeed &, std::vector< MinimumState > &, unsigned int, double) 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

std::shared_ptr< MinimumErrorUpdatorfErrorUpdator
 
VariableMetricEDMEstimator fEstimator
 
int fPrintLevel
 
int fStorageLevel
 
MnTraceObjectfTracer
 

Member Enumeration Documentation

◆ ErrorUpdatorType

Constructor & Destructor Documentation

◆ VariableMetricBuilder()

ROOT::Minuit2::VariableMetricBuilder::VariableMetricBuilder ( ErrorUpdatorType  type = kDavidon)
inline

Definition at line 40 of file VariableMetricBuilder.h.

40  :
41  fEstimator(VariableMetricEDMEstimator())
42  {
43  if (type == kBFGS) fErrorUpdator = std::unique_ptr<MinimumErrorUpdator>(new BFGSErrorUpdator());
44  else fErrorUpdator = std::unique_ptr<MinimumErrorUpdator>(new DavidonErrorUpdator());
45  }
std::shared_ptr< MinimumErrorUpdator > fErrorUpdator

References fErrorUpdator, and kBFGS.

◆ ~VariableMetricBuilder()

ROOT::Minuit2::VariableMetricBuilder::~VariableMetricBuilder ( )
inline

Definition at line 47 of file VariableMetricBuilder.h.

47 {}

Member Function Documentation

◆ AddResult()

void ROOT::Minuit2::VariableMetricBuilder::AddResult ( std::vector< MinimumState > &  result,
const MinimumState state 
) const

◆ ErrorUpdator()

const MinimumErrorUpdator& ROOT::Minuit2::VariableMetricBuilder::ErrorUpdator ( ) const
inline

Definition at line 54 of file VariableMetricBuilder.h.

54 {return *fErrorUpdator;}

References fErrorUpdator.

◆ Estimator()

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

Definition at line 53 of file VariableMetricBuilder.h.

53 {return fEstimator;}

References fEstimator.

◆ Minimum() [1/2]

virtual FunctionMinimum ROOT::Minuit2::VariableMetricBuilder::Minimum ( const MnFcn ,
const GradientCalculator ,
const MinimumSeed ,
const MnStrategy ,
unsigned int  ,
double   
) const
virtual

◆ Minimum() [2/2]

FunctionMinimum ROOT::Minuit2::VariableMetricBuilder::Minimum ( const MnFcn ,
const GradientCalculator ,
const MinimumSeed ,
std::vector< MinimumState > &  ,
unsigned int  ,
double   
) const

◆ 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

std::shared_ptr<MinimumErrorUpdator> ROOT::Minuit2::VariableMetricBuilder::fErrorUpdator
private

Definition at line 61 of file VariableMetricBuilder.h.

Referenced by VariableMetricBuilder(), and ErrorUpdator().

◆ fEstimator

VariableMetricEDMEstimator ROOT::Minuit2::VariableMetricBuilder::fEstimator
private

Definition at line 60 of file VariableMetricBuilder.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: