User class for performing multidimensional integration.
By default uses adaptive multi-dimensional integration using the algorithm from Genz Mallik implemented in the class ROOT::Math::AdaptiveIntegratorMultiDim otherwise it can uses via the plug-in manager the MC integration class (ROOT::Math::GSLMCIntegration) from MathMore.
Definition at line 50 of file IntegratorMultiDim.h.
Public Types | |
typedef IntegrationMultiDim::Type | Type |
Public Member Functions | |
IntegratorMultiDim (const IMultiGenFunction &f, IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0) | |
Generic Constructor of multi dimensional Integrator passing a function. More... | |
IntegratorMultiDim (IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0) | |
Generic constructor of multi dimensional Integrator. More... | |
virtual | ~IntegratorMultiDim () |
Template Constructor of multi dimensional Integrator passing a generic function. More... | |
double | Error () const |
return integration error More... | |
VirtualIntegratorMultiDim * | GetIntegrator () |
return a pointer to integrator object More... | |
double | Integral (const double *xmin, const double *xmax) |
evaluate the integral with the previously given function between xmin[] and xmax[] More... | |
double | Integral (const IMultiGenFunction &f, const double *xmin, const double *xmax) |
evaluate the integral passing a new function More... | |
template<class Function > | |
double | Integral (Function &f, unsigned int dim, const double *xmin, const double *xmax) |
evaluate the integral passing a new generic function More... | |
std::string | Name () const |
return name of integrator More... | |
ROOT::Math::IntegratorMultiDimOptions | Options () const |
retrieve the options More... | |
double | Result () const |
return result of last integration More... | |
void | SetAbsTolerance (double absTol) |
set absolute tolerance More... | |
void | SetFunction (const IMultiGenFunction &f) |
template<class Function > | |
void | SetFunction (Function &f, unsigned int dim) |
set integration function using a generic function implementing the operator()(double *x) The dimension of the function is in this case required More... | |
void | SetOptions (const ROOT::Math::IntegratorMultiDimOptions &opt) |
set the options More... | |
void | SetRelTolerance (double relTol) |
set the relative tolerance More... | |
int | Status () const |
return the Error Status of the last Integral calculation More... | |
Static Public Member Functions | |
static std::string | GetName (IntegrationMultiDim::Type) |
static function to get a string from the enumeration More... | |
static IntegrationMultiDim::Type | GetType (const char *name) |
static function to get the enumeration from a string More... | |
Protected Member Functions | |
VirtualIntegratorMultiDim * | CreateIntegrator (IntegrationMultiDim::Type type, double absTol, double relTol, unsigned int ncall) |
Private Member Functions | |
IntegratorMultiDim (const IntegratorMultiDim &) | |
IntegratorMultiDim & | operator= (const IntegratorMultiDim &) |
Private Attributes | |
std::unique_ptr< IMultiGenFunction > | fFunc |
VirtualIntegratorMultiDim * | fIntegrator |
#include <Math/IntegratorMultiDim.h>
Definition at line 54 of file IntegratorMultiDim.h.
|
inlineexplicit |
Generic constructor of multi dimensional Integrator.
By default uses the Adaptive integration method
type | integration type (adaptive, MC methods, etc..) |
absTol | desired absolute Error |
relTol | desired relative Error |
size | maximum number of sub-intervals |
In case no parameter values are passed the default ones used in IntegratorMultiDimOptions are used
Definition at line 67 of file IntegratorMultiDim.h.
|
inlineexplicit |
Generic Constructor of multi dimensional Integrator passing a function.
By default uses the adaptive integration method
f | integration function (multi-dim interface) |
type | integration type (adaptive, MC methods, etc..) |
absTol | desired absolute Error |
relTol | desired relative Error |
ncall | number of function calls (apply only to MC integratioon methods) |
Definition at line 82 of file IntegratorMultiDim.h.
|
inlinevirtual |
Template Constructor of multi dimensional Integrator passing a generic function.
By default uses the adaptive integration method
f | integration function (generic function implementin operator()(const double *) |
dim | function dimension |
type | integration type (adaptive, MC methods, etc..) |
absTol | desired absolute Error |
relTol | desired relative Error |
ncall | number of function calls (apply only to MC integratioon methods) destructor |
Definition at line 108 of file IntegratorMultiDim.h.
|
inlineprivate |
Definition at line 116 of file IntegratorMultiDim.h.
|
protected |
Definition at line 178 of file Integrator.cxx.
|
inline |
return integration error
Definition at line 162 of file IntegratorMultiDim.h.
|
inline |
return a pointer to integrator object
Definition at line 183 of file IntegratorMultiDim.h.
|
static |
static function to get a string from the enumeration
Definition at line 90 of file Integrator.cxx.
|
static |
static function to get the enumeration from a string
Definition at line 78 of file Integrator.cxx.
|
inline |
evaluate the integral with the previously given function between xmin[] and xmax[]
Definition at line 125 of file IntegratorMultiDim.h.
|
inline |
evaluate the integral passing a new function
Definition at line 130 of file IntegratorMultiDim.h.
|
inline |
evaluate the integral passing a new generic function
Definition at line 137 of file IntegratorMultiDim.h.
|
inline |
return name of integrator
Definition at line 186 of file IntegratorMultiDim.h.
|
inlineprivate |
Definition at line 117 of file IntegratorMultiDim.h.
|
inline |
retrieve the options
Definition at line 180 of file IntegratorMultiDim.h.
|
inline |
return result of last integration
Definition at line 159 of file IntegratorMultiDim.h.
|
inline |
set absolute tolerance
Definition at line 174 of file IntegratorMultiDim.h.
|
inline |
Definition at line 154 of file IntegratorMultiDim.h.
|
inline |
set integration function using a generic function implementing the operator()(double *x) The dimension of the function is in this case required
Definition at line 148 of file IntegratorMultiDim.h.
|
inline |
set the options
Definition at line 177 of file IntegratorMultiDim.h.
|
inline |
set the relative tolerance
Definition at line 171 of file IntegratorMultiDim.h.
|
inline |
return the Error Status of the last Integral calculation
Definition at line 165 of file IntegratorMultiDim.h.
|
private |
Definition at line 201 of file IntegratorMultiDim.h.
|
private |
Definition at line 200 of file IntegratorMultiDim.h.