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 51 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 55 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 68 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 83 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 109 of file IntegratorMultiDim.h.
      
  | 
  inlineprivate | 
Definition at line 117 of file IntegratorMultiDim.h.
      
  | 
  protected | 
Definition at line 178 of file Integrator.cxx.
      
  | 
  inline | 
return integration error
Definition at line 163 of file IntegratorMultiDim.h.
      
  | 
  inline | 
return a pointer to integrator object
Definition at line 184 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 126 of file IntegratorMultiDim.h.
      
  | 
  inline | 
evaluate the integral passing a new function
Definition at line 131 of file IntegratorMultiDim.h.
      
  | 
  inline | 
evaluate the integral passing a new generic function
Definition at line 138 of file IntegratorMultiDim.h.
      
  | 
  inline | 
return name of integrator
Definition at line 187 of file IntegratorMultiDim.h.
      
  | 
  inlineprivate | 
Definition at line 118 of file IntegratorMultiDim.h.
      
  | 
  inline | 
retrieve the options
Definition at line 181 of file IntegratorMultiDim.h.
      
  | 
  inline | 
return result of last integration
Definition at line 160 of file IntegratorMultiDim.h.
set absolute tolerance
Definition at line 175 of file IntegratorMultiDim.h.
      
  | 
  inline | 
Definition at line 155 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 149 of file IntegratorMultiDim.h.
      
  | 
  inline | 
set the options
Definition at line 178 of file IntegratorMultiDim.h.
set the relative tolerance
Definition at line 172 of file IntegratorMultiDim.h.
      
  | 
  inline | 
return the Error Status of the last Integral calculation
Definition at line 166 of file IntegratorMultiDim.h.
      
  | 
  private | 
pointer to owned function
Definition at line 202 of file IntegratorMultiDim.h.
      
  | 
  private | 
pointer to multi-dimensional integrator base class
Definition at line 201 of file IntegratorMultiDim.h.