21 #pragma warning(disable : 4267)
22 #include <Math/GSLMinimizer.h>
25 #pragma GCC diagnostic push
26 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
27 #include <Math/GSLMinimizer.h>
28 #pragma GCC diagnostic pop
31 GSLMultiMinimizer::GSLMultiMinimizer(
const std::string& algorithmName)
33 m_gsl_minimizer(new ROOT::Math::GSLMinimizer(algorithmName.c_str()))
35 addOption(
"PrintLevel", 0,
"Minimizer internal print level");
36 addOption(
"MaxIterations", 0,
"Maximum number of iterations");
39 GSLMultiMinimizer::~GSLMultiMinimizer() =
default;
43 setOptionValue(
"PrintLevel", value);
46 int GSLMultiMinimizer::printLevel()
const
48 return optionValue<int>(
"PrintLevel");
53 setOptionValue(
"MaxIterations", value);
56 int GSLMultiMinimizer::maxIterations()
const
58 return optionValue<int>(
"MaxIterations");
63 return MinimizerUtils::gslErrorDescription(rootMinimizer()->Status());
66 void GSLMultiMinimizer::propagateOptions()
68 m_gsl_minimizer->SetPrintLevel(printLevel());
69 m_gsl_minimizer->SetMaxIterations(
static_cast<unsigned int>(maxIterations()));
72 const RootMinimizerAdapter::root_minimizer_t* GSLMultiMinimizer::rootMinimizer()
const
74 return m_gsl_minimizer.get();
Declares class GSLMultiMinimizer.
Declares namespace MinimizerUtils.
std::string statusToString() const override
Returns string representation of current minimizer status.
void setMaxIterations(int value)
Sets maximum number of iterations.
void setPrintLevel(int value)
Sets minimizer internal print level.
Info about a minimizer, including list of defined minimization algorithms.
Pure virtual interface that adapts the CERN ROOT minimizer to our IMinimizer.