11#ifndef ROOT_Math_IntegratorOptions
12#define ROOT_Math_IntegratorOptions
131 if (
this == &rhs)
return *
this;
155 void Print(std::ostream & os = std::cout)
const;
179 static void PrintDefault(
const char *
name =
nullptr, std::ostream & os = std::cout);
212 if (
this == &rhs)
return *
this;
234 void Print(std::ostream & os = std::cout)
const;
258 static void PrintDefault(
const char *
name =
nullptr, std::ostream & os = std::cout);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
Base class for Numerical integration options common in 1D and multi-dimension This is an internal cla...
int fIntegType
Integrator type (value converted from enum)
BaseIntegratorOptions()
protected constructor to avoid user creating this class
virtual std::string Integrator() const =0
name of 1D integrator
ROOT::Math::IOptions * fExtraOptions
void SetAbsTolerance(double tol)
non-static methods for setting options
double RelTolerance() const
absolute tolerance
virtual ~BaseIntegratorOptions()
protected constructor to avoid user creating this class
void SetExtraOptions(const IOptions &opt)
set extra options (in this case pointer is cloned)
double fAbsTolerance
absolute tolerance
double fRelTolerance
relative tolerance
void SetRelTolerance(double tol)
set the relative tolerance
unsigned int WKSize() const
size of the workspace
double AbsTolerance() const
non-static methods for retrieving options
BaseIntegratorOptions & operator=(const BaseIntegratorOptions &opt)
assignment operators
unsigned int fNCalls
(max) function calls
unsigned int fWKSize
workspace size
void SetWKSize(unsigned int size)
set workspace size
IOptions * ExtraOptions() const
return extra options
Generic interface for defining configuration options of a numerical algorithm.
Numerical multi dimensional integration options.
static void SetDefaultAbsTolerance(double tol)
static std::string DefaultIntegrator()
static void SetDefaultWKSize(unsigned int size)
static void SetDefaultIntegrator(const char *name)
void Print(std::ostream &os=std::cout) const
print all the options
static void SetDefaultNCalls(unsigned int ncall)
~IntegratorMultiDimOptions() override
static unsigned int DefaultWKSize()
static ROOT::Math::IOptions * FindDefault(const char *name)
find specific options - return 0 if not existing
void SetIntegrator(const char *name)
set multi-dim integrator name
static IntegrationMultiDim::Type DefaultIntegratorType()
static ROOT::Math::IOptions & Default(const char *name)
retrieve specific options
static unsigned int DefaultNCalls()
void SetNCalls(unsigned int calls)
set maximum number of function calls
IntegratorMultiDimOptions(const IntegratorMultiDimOptions &rhs)
copy constructor
static void SetDefaultRelTolerance(double tol)
std::string Integrator() const override
name of multi-dim integrator
unsigned int NCalls() const
maximum number of function calls
IntegratorMultiDimOptions & operator=(const IntegratorMultiDimOptions &rhs)
assignment operator
static double DefaultRelTolerance()
static double DefaultAbsTolerance()
static void PrintDefault(const char *name=nullptr, std::ostream &os=std::cout)
print only the specified default options
IntegrationMultiDim::Type IntegratorType() const
type of the integrator (return the enumeration type)
Numerical one dimensional integration options.
static void SetDefaultNPoints(unsigned int n)
static std::string DefaultIntegrator()
IntegrationOneDim::Type IntegratorType() const
type of the integrator (return the enumeration type)
static double DefaultAbsTolerance()
static void SetDefaultAbsTolerance(double tol)
static double DefaultRelTolerance()
void Print(std::ostream &os=std::cout) const
print all the options
void SetIntegrator(const char *name)
set 1D integrator name
static void SetDefaultRelTolerance(double tol)
void SetNPoints(unsigned int n)
Set number of points for active integration rule.
static void SetDefaultIntegrator(const char *name)
IntegratorOneDimOptions(const IntegratorOneDimOptions &rhs)
copy constructor
static ROOT::Math::IOptions & Default(const char *name)
retrieve specific options - if not existing create a IOptions
static void SetDefaultWKSize(unsigned int size)
std::string Integrator() const override
name of 1D integrator
static unsigned int DefaultNPoints()
static void PrintDefault(const char *name=nullptr, std::ostream &os=std::cout)
print only the specified default options
static unsigned int DefaultWKSize()
~IntegratorOneDimOptions() override
static IntegrationOneDim::Type DefaultIntegratorType()
static ROOT::Math::IOptions * FindDefault(const char *name)
find specific options - return 0 if not existing
unsigned int NPoints() const
Number of points used by current integration rule.
IntegratorOneDimOptions & operator=(const IntegratorOneDimOptions &rhs)
assignment operator
Type
enumeration specifying the integration types.
Type
enumeration specifying the integration types.
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...