17 #include <boost/format.hpp>
20 MinimizerCatalog::MinimizerCatalog()
34 const int text_width = 80;
35 std::ostringstream result;
37 result << std::string(text_width,
'-') <<
"\n";
38 result << boost::format(
"%-15s|%-65s\n") %
"Minimizer" %
" Algorithms";
39 result << std::string(text_width,
'-') <<
"\n";
41 for (
const auto& info : m_minimizers) {
42 result << boost::format(
"%-15s| %-64s\n") % info.name()
43 % MinimizerUtils::toString(info.algorithmNames(),
" ");
48 std::vector<std::string> MinimizerCatalog::minimizerNames()
const
50 std::vector<std::string> result;
51 for (
const auto& info : m_minimizers)
52 result.push_back(info.name());
66 std::vector<std::string>
76 for (
const auto& info : m_minimizers)
77 if (info.name() == minimizerName)
80 throw std::runtime_error(
"MinimizerCatalog::minimizerInfo -> Error. "
81 "No minimizer with the name '"
82 + minimizerName +
"'");
87 void MinimizerCatalog::addMinimizerInfo(
const MinimizerInfo& info)
89 m_minimizers.push_back(info);
Defines class MinimizerCatalog.
Declares namespace MinimizerUtils.
std::vector< std::string > algorithmDescriptions(const std::string &minimizerName) const
Returns list of algorithm's descriptions for the minimizer with a given name .
const MinimizerInfo & minimizerInfo(const std::string &minimizerName) const
Returns info for minimizer with given name.
std::string toString() const
Returns multiline string representing catalog content.
std::vector< std::string > algorithmNames(const std::string &minimizerName) const
Returns list of algorithms defined for the minimizer with a given name.
Info about a minimizer, including list of defined minimization algorithms.
static MinimizerInfo buildGeneticInfo()
Creates information for TMVA genetic minimizer.
static MinimizerInfo buildGSLSimAnInfo()
Creates information for GSL's simmulated annealing algorithm.
std::vector< std::string > algorithmDescriptions() const
Returns list of string with description of all available algorithms.
static MinimizerInfo buildGSLLMAInfo()
Creates information for GSL's Levenberg-Marquardt.
static MinimizerInfo buildGSLMultiMinInfo(const std::string &defaultAlgo="")
Creates information for GSLMultiMinMinimizer.
static MinimizerInfo buildTestMinimizerInfo()
Creates information for simple test minimizer.
std::vector< std::string > algorithmNames() const
Return list of defined algorithm names.
static MinimizerInfo buildMinuit2Info(const std::string &defaultAlgo="")
Creates information for Minuit2Minimizer.