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 47 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. | |
| IntegratorMultiDim (IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0) | |
| Generic constructor of multi dimensional Integrator. | |
| virtual | ~IntegratorMultiDim () | 
| Template Constructor of multi dimensional Integrator passing a generic function. | |
| double | Error () const | 
| return integration error | |
| VirtualIntegratorMultiDim * | GetIntegrator () | 
| return a pointer to integrator object | |
| double | Integral (const double *xmin, const double *xmax) | 
| evaluate the integral with the previously given function between xmin[] and xmax[] | |
| double | Integral (const IMultiGenFunction &f, const double *xmin, const double *xmax) | 
| evaluate the integral passing a new function | |
| template<class Function > | |
| double | Integral (Function &f, unsigned int dim, const double *xmin, const double *xmax) | 
| evaluate the integral passing a new generic function | |
| std::string | Name () const | 
| return name of integrator | |
| ROOT::Math::IntegratorMultiDimOptions | Options () const | 
| retrieve the options | |
| double | Result () const | 
| return result of last integration | |
| void | SetAbsTolerance (double absTol) | 
| set absolute tolerance | |
| 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 | |
| void | SetOptions (const ROOT::Math::IntegratorMultiDimOptions &opt) | 
| set the options | |
| void | SetRelTolerance (double relTol) | 
| set the relative tolerance | |
| int | Status () const | 
| return the Error Status of the last Integral calculation | |
| Static Public Member Functions | |
| static std::string | GetName (IntegrationMultiDim::Type) | 
| static function to get a string from the enumeration | |
| static IntegrationMultiDim::Type | GetType (const char *name) | 
| static function to get the enumeration from a string | |
| 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 | 
| pointer to owned function | |
| VirtualIntegratorMultiDim * | fIntegrator | 
| pointer to multi-dimensional integrator base class | |
#include <Math/IntegratorMultiDim.h>
Definition at line 51 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 | 
| ncall | number of function calls (apply only to MC integration methods) | 
In case no parameter values are passed the default ones used in IntegratorMultiDimOptions are used
Definition at line 64 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 integration methods) | 
Definition at line 79 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 implementing 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 integration methods) destructor | 
Definition at line 105 of file IntegratorMultiDim.h.
| 
 | inlineprivate | 
Definition at line 113 of file IntegratorMultiDim.h.
| 
 | protected | 
Definition at line 178 of file Integrator.cxx.
| 
 | inline | 
return integration error
Definition at line 159 of file IntegratorMultiDim.h.
| 
 | inline | 
return a pointer to integrator object
Definition at line 180 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.
evaluate the integral with the previously given function between xmin[] and xmax[]
Definition at line 122 of file IntegratorMultiDim.h.
| 
 | inline | 
evaluate the integral passing a new function
Definition at line 127 of file IntegratorMultiDim.h.
| 
 | inline | 
evaluate the integral passing a new generic function
Definition at line 134 of file IntegratorMultiDim.h.
| 
 | inline | 
return name of integrator
Definition at line 183 of file IntegratorMultiDim.h.
| 
 | inlineprivate | 
Definition at line 114 of file IntegratorMultiDim.h.
| 
 | inline | 
retrieve the options
Definition at line 177 of file IntegratorMultiDim.h.
| 
 | inline | 
return result of last integration
Definition at line 156 of file IntegratorMultiDim.h.
| 
 | inline | 
set absolute tolerance
Definition at line 171 of file IntegratorMultiDim.h.
| 
 | inline | 
Definition at line 151 of file IntegratorMultiDim.h.
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 145 of file IntegratorMultiDim.h.
| 
 | inline | 
set the options
Definition at line 174 of file IntegratorMultiDim.h.
| 
 | inline | 
set the relative tolerance
Definition at line 168 of file IntegratorMultiDim.h.
| 
 | inline | 
return the Error Status of the last Integral calculation
Definition at line 162 of file IntegratorMultiDim.h.
| 
 | private | 
pointer to owned function
Definition at line 198 of file IntegratorMultiDim.h.
| 
 | private | 
pointer to multi-dimensional integrator base class
Definition at line 197 of file IntegratorMultiDim.h.