15 #ifndef BORNAGAIN_FIT_ROOTADAPTER_ROOTMINIMIZERADAPTER_H
16 #define BORNAGAIN_FIT_ROOTADAPTER_ROOTMINIMIZERADAPTER_H
28 class ObjectiveFunctionAdapter;
29 class MinimizerResult;
46 typedef ROOT::Math::Minimizer root_minimizer_t;
61 double minValue()
const override final;
73 virtual std::map<std::string, std::string>
statusMap()
const;
76 void setOptions(
const std::string& optionString)
override final;
85 virtual void setParameter(
unsigned int index,
const Fit::Parameter& par);
90 virtual void propagateOptions() = 0;
91 virtual const root_minimizer_t* rootMinimizer()
const = 0;
92 root_minimizer_t* rootMinimizer();
95 OptionContainer::option_t addOption(
const std::string& optionName, T value,
96 const std::string& description =
"");
98 template <
class T>
void setOptionValue(
const std::string& optionName, T value);
100 template <
class T> T optionValue(
const std::string& optionName)
const;
105 std::unique_ptr<Fit::ObjectiveFunctionAdapter> m_adapter;
110 OptionContainer::option_t RootMinimizerAdapter::addOption(
const std::string& optionName, T value,
111 const std::string& description)
113 return m_options.addOption(optionName, value, description);
116 template <
class T>
void RootMinimizerAdapter::setOptionValue(
const std::string& optionName, T value)
121 template <
class T> T RootMinimizerAdapter::optionValue(
const std::string& optionName)
const
123 return m_options.optionValue<T>(optionName);
Defines class IMinimizer.
Declares class MinimizerInfo.
Declares class MinimizerOptions.
Result of minimization round.
A fittable parameter with value, error, step, and limits.
A collection of fit parameters.
Pure virtual interface for all kind minimizers.
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.
Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.
Fit::MinimizerResult minimize_scalar(fcn_scalar_t fcn, Fit::Parameters parameters) override
run minimization
size_t fitDimension() const
Returns number of fit parameters defined (i.e. dimension of the function to be minimized).
std::string minimizerName() const override final
Returns name of the minimizer.
virtual std::string statusToString() const
Returns string representation of current minimizer status.
std::string algorithmName() const override final
Returns name of the minimization algorithm.
double minValue() const override final
Returns minimum function value.
void propagateResults(Fit::Parameters ¶meters)
Propagates results of minimization to fit parameter set.
virtual std::map< std::string, std::string > statusMap() const
Returns map of string representing different minimizer statuses.
std::vector< double > parErrorsAtMinimum() const
Returns errors of the variables at minimum.
void setOptions(const std::string &optionString) override final
Sets option string to the minimizer.
std::vector< double > parValuesAtMinimum() const
Returns value of the variables at minimum.
bool providesError() const
Returns true if minimizer provides error and error matrix.
Objective function types.