BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Types | |
typedef ROOT::Math::Minimizer | root_minimizer_t |
Public Member Functions | |
virtual | ~RootMinimizerAdapter () override |
Fit::MinimizerResult | minimize_scalar (fcn_scalar_t fcn, Fit::Parameters parameters) override |
Fit::MinimizerResult | minimize_residual (fcn_residual_t fcn, Fit::Parameters parameters) override |
std::string | minimizerName () const override final |
std::string | algorithmName () const override final |
void | setParameters (const Fit::Parameters ¶meters) |
double | minValue () const override final |
MinimizerOptions & | options () |
const MinimizerOptions & | options () const |
virtual std::string | statusToString () const |
bool | providesError () const |
virtual std::map< std::string, std::string > | statusMap () const |
void | setOptions (const std::string &optionString) override final |
virtual void | clear () |
virtual bool | requiresResiduals () |
Protected Member Functions | |
RootMinimizerAdapter (const MinimizerInfo &minimizerInfo) | |
Fit::MinimizerResult | minimize (Fit::Parameters parameters) |
void | propagateResults (Fit::Parameters ¶meters) |
virtual void | setParameter (unsigned int index, const Fit::Parameter &par) |
size_t | fitDimension () const |
std::vector< double > | parValuesAtMinimum () const |
std::vector< double > | parErrorsAtMinimum () const |
virtual void | propagateOptions ()=0 |
virtual const root_minimizer_t * | rootMinimizer () const =0 |
root_minimizer_t * | rootMinimizer () |
template<class T > | |
OptionContainer::option_t | addOption (const std::string &optionName, T value, const std::string &description="") |
template<class T > | |
void | setOptionValue (const std::string &optionName, T value) |
template<class T > | |
T | optionValue (const std::string &optionName) const |
Private Attributes | |
MinimizerOptions | m_options |
MinimizerInfo | m_minimizerInfo |
std::unique_ptr< Fit::ObjectiveFunctionAdapter > | m_adapter |
bool | m_status |
Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.
Definition at line 43 of file RootMinimizerAdapter.h.
typedef ROOT::Math::Minimizer RootMinimizerAdapter::root_minimizer_t |
Definition at line 46 of file RootMinimizerAdapter.h.
|
overridevirtualdefault |
|
protected |
Definition at line 25 of file RootMinimizerAdapter.cpp.
|
overridevirtual |
run minimization
Reimplemented from IMinimizer.
Definition at line 32 of file RootMinimizerAdapter.cpp.
References m_adapter, minimize(), and rootMinimizer().
|
overridevirtual |
Reimplemented from IMinimizer.
Definition at line 39 of file RootMinimizerAdapter.cpp.
References m_adapter, minimize(), and rootMinimizer().
|
finaloverridevirtual |
Returns name of the minimizer.
Implements IMinimizer.
Definition at line 64 of file RootMinimizerAdapter.cpp.
References m_minimizerInfo, and MinimizerInfo::name().
Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportDescription().
|
finaloverridevirtual |
Returns name of the minimization algorithm.
Implements IMinimizer.
Definition at line 69 of file RootMinimizerAdapter.cpp.
References MinimizerInfo::algorithmName(), and m_minimizerInfo.
Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportDescription(), and Minuit2Minimizer::requiresResiduals().
void RootMinimizerAdapter::setParameters | ( | const Fit::Parameters & | parameters | ) |
Definition at line 74 of file RootMinimizerAdapter.cpp.
References setParameter().
Referenced by minimize().
|
finaloverridevirtual |
Returns minimum function value.
Reimplemented from IMinimizer.
Definition at line 81 of file RootMinimizerAdapter.cpp.
References rootMinimizer().
Referenced by minimize(), and statusMap().
|
inline |
Definition at line 63 of file RootMinimizerAdapter.h.
References m_options.
Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportOption(), and setOptions().
|
inline |
|
virtual |
Returns string representation of current minimizer status.
Reimplemented in Minuit2Minimizer, GSLMultiMinimizer, GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Definition at line 86 of file RootMinimizerAdapter.cpp.
References m_status.
Referenced by statusMap().
bool RootMinimizerAdapter::providesError | ( | ) | const |
Returns true if minimizer provides error and error matrix.
Definition at line 91 of file RootMinimizerAdapter.cpp.
References rootMinimizer().
Referenced by propagateResults(), and statusMap().
|
virtual |
Returns map of string representing different minimizer statuses.
Reimplemented in SimAnMinimizer, Minuit2Minimizer, GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Definition at line 96 of file RootMinimizerAdapter.cpp.
References minValue(), providesError(), StringUtils::scientific(), and statusToString().
Referenced by anonymous_namespace{MinimizerResultUtils.cpp}::reportStatus(), GeneticMinimizer::statusMap(), GSLLevenbergMarquardtMinimizer::statusMap(), Minuit2Minimizer::statusMap(), and SimAnMinimizer::statusMap().
|
finaloverridevirtual |
Sets option string to the minimizer.
Reimplemented from IMinimizer.
Definition at line 111 of file RootMinimizerAdapter.cpp.
References options(), and MinimizerOptions::setOptionString().
|
protected |
Definition at line 46 of file RootMinimizerAdapter.cpp.
References m_adapter, m_status, minValue(), propagateOptions(), propagateResults(), MinimizerResultUtils::reportToString(), rootMinimizer(), Fit::MinimizerResult::setMinValue(), Fit::MinimizerResult::setNumberOfCalls(), Fit::MinimizerResult::setNumberOfGradientCalls(), setParameters(), Fit::MinimizerResult::setParameters(), and Fit::MinimizerResult::setReport().
Referenced by minimize_residual(), and minimize_scalar().
|
protected |
Propagates results of minimization to fit parameter set.
Definition at line 118 of file RootMinimizerAdapter.cpp.
References fitDimension(), parErrorsAtMinimum(), parValuesAtMinimum(), providesError(), rootMinimizer(), Fit::Parameters::setCorrelationMatrix(), Fit::Parameters::setErrors(), and Fit::Parameters::setValues().
Referenced by minimize().
|
protectedvirtual |
Reimplemented in GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Definition at line 137 of file RootMinimizerAdapter.cpp.
References AttLimits::isFixed(), AttLimits::isLimited(), AttLimits::isLimitless(), AttLimits::isLowerLimited(), AttLimits::isUpperLimited(), Fit::Parameter::limits(), AttLimits::lowerLimit(), Fit::Parameter::name(), rootMinimizer(), Fit::Parameter::step(), AttLimits::upperLimit(), and Fit::Parameter::value().
Referenced by GeneticMinimizer::setParameter(), GSLLevenbergMarquardtMinimizer::setParameter(), and setParameters().
|
protected |
Returns number of fit parameters defined (i.e. dimension of the function to be minimized).
Definition at line 179 of file RootMinimizerAdapter.cpp.
References rootMinimizer().
Referenced by parErrorsAtMinimum(), parValuesAtMinimum(), and propagateResults().
|
protected |
Returns value of the variables at minimum.
Definition at line 186 of file RootMinimizerAdapter.cpp.
References fitDimension(), and rootMinimizer().
Referenced by propagateResults().
|
protected |
Returns errors of the variables at minimum.
Definition at line 196 of file RootMinimizerAdapter.cpp.
References fitDimension(), and rootMinimizer().
Referenced by propagateResults().
|
protectedpure virtual |
Implemented in SimAnMinimizer, Minuit2Minimizer, GSLMultiMinimizer, GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Referenced by minimize().
|
protectedpure virtual |
Implemented in SimAnMinimizer, Minuit2Minimizer, GSLMultiMinimizer, GSLLevenbergMarquardtMinimizer, and GeneticMinimizer.
Referenced by fitDimension(), minimize(), minimize_residual(), minimize_scalar(), minValue(), parErrorsAtMinimum(), parValuesAtMinimum(), propagateResults(), providesError(), rootMinimizer(), and setParameter().
|
protected |
Definition at line 207 of file RootMinimizerAdapter.cpp.
References rootMinimizer().
|
protected |
Definition at line 110 of file RootMinimizerAdapter.h.
References OptionContainer::addOption(), and m_options.
Referenced by GeneticMinimizer::GeneticMinimizer(), GSLLevenbergMarquardtMinimizer::GSLLevenbergMarquardtMinimizer(), GSLMultiMinimizer::GSLMultiMinimizer(), Minuit2Minimizer::Minuit2Minimizer(), and SimAnMinimizer::SimAnMinimizer().
|
protected |
Definition at line 116 of file RootMinimizerAdapter.h.
References m_options, and OptionContainer::setOptionValue().
Referenced by SimAnMinimizer::setBoltzmannInitialTemp(), SimAnMinimizer::setBoltzmannK(), SimAnMinimizer::setBoltzmannMinTemp(), SimAnMinimizer::setBoltzmannMu(), Minuit2Minimizer::setErrorDefinition(), SimAnMinimizer::setIterationsAtEachTemp(), Minuit2Minimizer::setMaxFunctionCalls(), GeneticMinimizer::setMaxIterations(), GSLLevenbergMarquardtMinimizer::setMaxIterations(), GSLMultiMinimizer::setMaxIterations(), SimAnMinimizer::setMaxIterations(), GeneticMinimizer::setPopulationSize(), Minuit2Minimizer::setPrecision(), GeneticMinimizer::setPrintLevel(), GSLLevenbergMarquardtMinimizer::setPrintLevel(), GSLMultiMinimizer::setPrintLevel(), Minuit2Minimizer::setPrintLevel(), SimAnMinimizer::setPrintLevel(), GeneticMinimizer::setRandomSeed(), SimAnMinimizer::setStepSize(), Minuit2Minimizer::setStrategy(), GeneticMinimizer::setTolerance(), GSLLevenbergMarquardtMinimizer::setTolerance(), and Minuit2Minimizer::setTolerance().
|
protected |
Definition at line 121 of file RootMinimizerAdapter.h.
References m_options, and OptionContainer::optionValue().
|
inlinevirtualinherited |
clear resources (parameters) for consecutives minimizations
Definition at line 50 of file IMinimizer.h.
|
inlinevirtualinherited |
Returns true if minimizer computations are residual-based, false otherwise.
Reimplemented in Minuit2Minimizer, and GSLLevenbergMarquardtMinimizer.
Definition at line 60 of file IMinimizer.h.
|
private |
Definition at line 103 of file RootMinimizerAdapter.h.
Referenced by addOption(), options(), optionValue(), and setOptionValue().
|
private |
Definition at line 104 of file RootMinimizerAdapter.h.
Referenced by algorithmName(), and minimizerName().
|
private |
Definition at line 105 of file RootMinimizerAdapter.h.
Referenced by minimize(), minimize_residual(), and minimize_scalar().
|
private |
Definition at line 106 of file RootMinimizerAdapter.h.
Referenced by minimize(), and statusToString().