11 #ifndef ROOT_Math_IntegratorOptions
12 #define ROOT_Math_IntegratorOptions
14 #ifndef ROOT_Math_AllIntegrationTypes
133 if (
this == &rhs)
return *
this;
157 void Print(std::ostream & os = std::cout)
const;
181 static void PrintDefault(
const char *
name = 0, std::ostream & os = std::cout);
214 if (
this == &rhs)
return *
this;
236 void Print(std::ostream & os = std::cout)
const;
260 static void PrintDefault(
const char *
name = 0, std::ostream & os = std::cout);
static double DefaultAbsTolerance()
static ROOT::Math::IOptions * FindDefault(const char *name)
IntegratorMultiDimOptions & operator=(const IntegratorMultiDimOptions &rhs)
IntegratorOneDimOptions & operator=(const IntegratorOneDimOptions &rhs)
void SetExtraOptions(const IOptions &opt)
set extra options (in this case pointer is cloned)
static void PrintDefault(const char *name=0, std::ostream &os=std::cout)
print only the specified default options
Type
enumeration specifying the integration types.
void SetWKSize(unsigned int size)
set workspace size
IntegratorMultiDimOptions(const IntegratorMultiDimOptions &rhs)
static void SetDefaultIntegrator(const char *name)
static void SetDefaultWKSize(unsigned int size)
static void SetDefaultIntegrator(const char *name)
void SetNCalls(unsigned int calls)
set maximum number of function calls
static unsigned int DefaultNPoints()
void SetNPoints(unsigned int n)
set number of points rule values of 1,2,3,4,5,6 corresponds to 15,21,31,41,51,61 and they are used in...
static void PrintDefault(const char *name=0, std::ostream &os=std::cout)
print only the specified default options
void Print(std::ostream &os=std::cout) const
print all the options
static void SetDefaultAbsTolerance(double tol)
static std::string DefaultIntegrator()
static unsigned int DefaultWKSize()
IOptions * ExtraOptions() const
return extra options
BaseIntegratorOptions & operator=(const BaseIntegratorOptions &opt)
assignment operators
IntegratorMultiDimOptions(IOptions *extraOpts=0)
static void SetDefaultNCalls(unsigned int ncall)
ROOT::Math::IOptions * fExtraOptions
void Print(std::ostream &os=std::cout) const
print all the options
static double DefaultRelTolerance()
IntegratorOneDimOptions(IOptions *extraOpts=0)
static IntegrationOneDim::Type DefaultIntegratorType()
static void SetDefaultRelTolerance(double tol)
static ROOT::Math::IOptions & Default(const char *name)
Numerical multi dimensional integration options.
Numerical one dimensional integration options.
static std::string DefaultIntegrator()
void SetIntegrator(const char *name)
set multi-dim integrator name
unsigned int NCalls() const
maximum number of function calls
virtual std::string Integrator() const =0
name of 1D integrator
IntegrationMultiDim::Type IntegratorType() const
type of the integrator (return the enumeration type)
Base class for Numerical integration options common in 1D and multi-dimension This is an internal cla...
static IntegrationMultiDim::Type DefaultIntegratorType()
Type
enumeration specifying the integration types.
static ROOT::Math::IOptions & Default(const char *name)
retrieve specific options - if not existing create a IOptions
static void SetDefaultRelTolerance(double tol)
static void SetDefaultNPoints(unsigned int n)
static ROOT::Math::IOptions * FindDefault(const char *name)
static double DefaultAbsTolerance()
virtual ~BaseIntegratorOptions()
protected constructor to avoid user creating this class
double RelTolerance() const
absolute tolerance
std::string Integrator() const
name of multi-dim integrator
IntegrationOneDim::Type IntegratorType() const
type of the integrator (return the enumeration type)
virtual ~IntegratorMultiDimOptions()
unsigned int WKSize() const
size of the workspace
Generic interface for defining configuration options of a numerical algorithm.
std::string Integrator() const
name of 1D integrator
double AbsTolerance() const
non-static methods for retrivieng options
unsigned int NPoints() const
maximum number of function calls
virtual ~IntegratorOneDimOptions()
IntegratorOneDimOptions(const IntegratorOneDimOptions &rhs)
BaseIntegratorOptions()
protected constructor to avoid user creating this class
static unsigned int DefaultWKSize()
static double DefaultRelTolerance()
void SetIntegrator(const char *name)
set 1D integrator name
void SetRelTolerance(double tol)
set the relative tolerance
static void SetDefaultAbsTolerance(double tol)
static void SetDefaultWKSize(unsigned int size)
static unsigned int DefaultNCalls()
void SetAbsTolerance(double tol)
non-static methods for setting options