16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_FIT_ADAPTER_MINIMIZERADAPTER_H
21 #define BORNAGAIN_FIT_ADAPTER_MINIMIZERADAPTER_H
32 class ObjectiveFunctionAdapter;
33 class MinimizerResult;
74 virtual std::map<std::string, std::string>
statusMap()
const;
77 void setOptions(
const std::string& optionString)
final;
97 const std::string& description =
"");
99 template <
class T>
void setOptionValue(
const std::string& optionName, T value);
101 template <
class T> T
optionValue(
const std::string& optionName)
const;
106 std::unique_ptr<mumufit::ObjectiveFunctionAdapter>
m_adapter;
112 const std::string& description)
Defines interface IMinimizer.
Declares class MinimizerInfo.
Declares class MinimizerOptions.
std::function< double(const mumufit::Parameters &)> fcn_scalar_t
std::function< std::vector< double >(const mumufit::Parameters &)> fcn_residual_t
Abstract base class for all kind minimizers.
Abstract base class that adapts the CERN ROOT minimizer to our IMinimizer.
mumufit::MinimizerResult minimize(mumufit::Parameters parameters)
virtual const root_minimizer_t * rootMinimizer() const =0
virtual std::map< std::string, std::string > statusMap() const
Returns map of string representing different minimizer statuses.
std::string minimizerName() const final
Returns name of the minimizer.
double minValue() const final
Returns minimum function value.
virtual void setParameter(unsigned int index, const mumufit::Parameter &par)
OptionContainer::option_t addOption(const std::string &optionName, T value, const std::string &description="")
void propagateResults(mumufit::Parameters ¶meters)
Propagates results of minimization to fit parameter set.
MinimizerOptions m_options
ROOT::Math::Minimizer root_minimizer_t
void setParameters(const mumufit::Parameters ¶meters)
void setOptions(const std::string &optionString) final
Sets option string to the minimizer.
T optionValue(const std::string &optionName) const
virtual std::string statusToString() const
Returns string representation of current minimizer status.
virtual ~MinimizerAdapter() override
MinimizerInfo m_minimizerInfo
virtual void propagateOptions()=0
void setOptionValue(const std::string &optionName, T value)
const MinimizerOptions & options() const
std::vector< double > parValuesAtMinimum() const
Returns value of the variables at minimum.
mumufit::MinimizerResult minimize_scalar(fcn_scalar_t fcn, mumufit::Parameters parameters) override
run minimization
std::string algorithmName() const final
Returns name of the minimization algorithm.
std::unique_ptr< mumufit::ObjectiveFunctionAdapter > m_adapter
MinimizerOptions & options()
mumufit::MinimizerResult minimize_residual(fcn_residual_t fcn, mumufit::Parameters parameters) override
bool providesError() const
Returns true if minimizer provides error and error matrix.
MinimizerAdapter(const MinimizerInfo &minimizerInfo)
size_t fitDimension() const
Returns number of fit parameters defined (i.e. dimension of the function to be minimized).
std::vector< double > parErrorsAtMinimum() const
Returns errors of the variables at minimum.
Info about a minimizer, including list of defined minimization algorithms.
Collection of internal minimizer settings.
void setOptionValue(const std::string &optionName, T value)
Sets the value of option. Option should hold same value type already.
T optionValue(const std::string &optionName) const
std::shared_ptr< MultiOption > option_t
option_t addOption(const std::string &optionName, T value, const std::string &description="")
Result of minimization round.
A fittable parameter with value, error, step, and limits.
A collection of fit parameters.
The multi-library, multi-algorithm fit wrapper library.