11#ifndef ROOT_Math_GenAlgoOptions
12#define ROOT_Math_GenAlgoOptions
56 if (!pval)
return false;
63 if (!pval)
return false;
70 if (!pval)
return false;
89 std::vector<std::string> names;
93 names.push_back(
e.first);
97 std::vector<std::string> names;
101 names.push_back(
e.first);
105 std::vector<std::string> names;
109 names.push_back(
e.first);
114 void Print(std::ostream & os = std::cout )
const override {
142 static const typename M::mapped_type *
FindValue(
const std::string &
name,
const M & opts) {
143 typename M::const_iterator pos;
144 pos = opts.find(
name);
145 if (pos == opts.end()) {
148 return &((*pos).second);
153 typename M::iterator pos;
154 pos = opts.find(
name);
155 if (pos != opts.end()) {
159 opts.insert(
typename M::value_type(
name,
value) );
164 static void Print(
const M & opts, std::ostream & os) {
166 for (
typename M::const_iterator pos = opts.begin(); pos != opts.end(); ++pos)
167 os << std::setw(25) << pos->first <<
" : " << std::setw(15) << pos->second << std::endl;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
class implementing generic options for a numerical algorithm Just store the options in a map of strin...
void SetNamedValue(const char *name, const char *val) override
bool GetRealValue(const char *name, double &val) const override
std::map< std::string, double > fRealOpts
map of the real options
std::vector< std::string > GetAllRealKeys()
void SetIntValue(const char *name, int val) override
static void Print(const M &opts, std::ostream &os)
void SetRealValue(const char *name, double val) override
method wich need to be re-implemented by the derived classes
std::map< std::string, int > fIntOpts
map of the integer options
static void PrintAllDefault(std::ostream &os=std::cout)
print all the default options
bool GetIntValue(const char *name, int &val) const override
static void InsertValue(const std::string &name, M &opts, const typename M::mapped_type &value)
~GenAlgoOptions() override
IOptions * Clone() const override
generic methods for retrieving options
void Print(std::ostream &os=std::cout) const override
print options
static IOptions & Default(const char *algoname)
static const M::mapped_type * FindValue(const std::string &name, const M &opts)
static IOptions * FindDefault(const char *algoname)
std::vector< std::string > GetAllIntKeys()
bool GetNamedValue(const char *name, std::string &val) const override
std::map< std::string, std::string > fNamOpts
map of the named options
std::vector< std::string > GetAllNamedKeys()
Generic interface for defining configuration options of a numerical algorithm.
Namespace for new Math classes and functions.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.