11#ifndef ROOT_Math_GenAlgoOptions 
   12#define ROOT_Math_GenAlgoOptions 
   54      if (!pval) 
return false;
 
   61      if (!pval) 
return false;
 
   68      if (!pval) 
return false;
 
   88   virtual void Print(std::ostream & os = std::cout )
 const {
 
  116   static const typename M::mapped_type * 
FindValue(
const std::string &  
name, 
const M & opts) {
 
  117      typename M::const_iterator pos;
 
  118      pos = opts.find(
name);
 
  119      if (pos == opts.end()) {
 
  122      return  &((*pos).second);
 
  126   static void InsertValue(
const std::string &
name, M & opts, 
const typename M::mapped_type & value) {
 
  127      typename M::iterator pos;
 
  128      pos = opts.find(
name);
 
  129      if (pos != opts.end()) {
 
  133         opts.insert(
typename M::value_type(
name, value) );
 
  138   static void Print( 
const M & opts, std::ostream & os) {
 
  140      for (
typename M::const_iterator pos = opts.begin(); pos != opts.end(); ++pos)
 
  141         os << std::setw(25) << pos->first << 
" : " << std::setw(15) << pos->second << std::endl;
 
class implementing generic options for a numerical algorithm Just store the options in a map of strin...
std::map< std::string, double > fRealOpts
static void Print(const M &opts, std::ostream &os)
virtual ~GenAlgoOptions()
std::map< std::string, int > fIntOpts
static void PrintAllDefault(std::ostream &os=std::cout)
print all the default options
static void InsertValue(const std::string &name, M &opts, const typename M::mapped_type &value)
virtual void Print(std::ostream &os=std::cout) const
print options
virtual void SetRealValue(const char *name, double val)
method wich need to be re-implemented by the derived classes
virtual void SetIntValue(const char *name, int val)
virtual bool GetIntValue(const char *name, int &val) const
virtual IOptions * Clone() const
generic methods for retrivieng 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::map< std::string, std::string > fNamOpts
virtual void SetNamedValue(const char *name, const char *val)
virtual bool GetNamedValue(const char *name, std::string &val) const
virtual bool GetRealValue(const char *name, double &val) const
Generic interface for defining configuration options of a numerical algorithm.
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.