ROOT
6.07/01
Reference Guide
|
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 60 of file IntegratorMultiDim.h.
Public Types | |
typedef IntegrationMultiDim::Type | Type |
Public Member Functions | |
IntegratorMultiDim (IntegrationMultiDim::Type type=IntegrationMultiDim::kDEFAULT, double absTol=-1, double relTol=-1, unsigned int ncall=0) | |
Generic constructor of multi dimensional Integrator. More... | |
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... | |
virtual | ~IntegratorMultiDim () |
Template Constructor of multi dimensional Integrator passing a generic function. 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... | |
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 | SetFunction (const IMultiGenFunction &f) |
double | Result () const |
return result of last integration More... | |
double | Error () const |
return integration error More... | |
int | Status () const |
return the Error Status of the last Integral calculation More... | |
void | SetRelTolerance (double relTol) |
set the relative tolerance More... | |
void | SetAbsTolerance (double absTol) |
set absolute tolerance More... | |
void | SetOptions (const ROOT::Math::IntegratorMultiDimOptions &opt) |
set the options More... | |
ROOT::Math::IntegratorMultiDimOptions | Options () const |
retrieve the options More... | |
VirtualIntegratorMultiDim * | GetIntegrator () |
return a pointer to integrator object More... | |
std::string | Name () const |
return name of integrator More... | |
Static Public Member Functions | |
static IntegrationMultiDim::Type | GetType (const char *name) |
static function to get the enumeration from a string More... | |
static std::string | GetName (IntegrationMultiDim::Type) |
static function to get a string from the enumeration 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 | |
VirtualIntegratorMultiDim * | fIntegrator |
std::auto_ptr< IMultiGenFunction > | fFunc |
#include <Math/IntegratorMultiDim.h>
Definition at line 64 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 77 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 92 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 118 of file IntegratorMultiDim.h.
|
inlineprivate |
Definition at line 126 of file IntegratorMultiDim.h.
|
protected |
Definition at line 179 of file Integrator.cxx.
Referenced by IntegratorMultiDim().
|
inline |
return integration error
Definition at line 172 of file IntegratorMultiDim.h.
Referenced by TF1::IntegralMultiple().
|
inline |
return a pointer to integrator object
Definition at line 193 of file IntegratorMultiDim.h.
|
static |
static function to get a string from the enumeration
Definition at line 91 of file Integrator.cxx.
Referenced by CreateIntegrator(), ROOT::Math::IntegratorMultiDimOptions::DefaultIntegrator(), and ROOT::Math::IntegratorMultiDimOptions::Integrator().
|
static |
static function to get the enumeration from a string
Definition at line 79 of file Integrator.cxx.
Referenced by CreateIntegrator(), GetName(), ROOT::Math::IntegratorMultiDimOptions::SetDefaultIntegrator(), and ROOT::Math::IntegratorMultiDimOptions::SetIntegrator().
evaluate the integral with the previously given function between xmin[] and xmax[]
Definition at line 135 of file IntegratorMultiDim.h.
Referenced by Integral(), TF1::IntegralMultiple(), and testIntegrationMultiDim().
|
inline |
evaluate the integral passing a new function
Definition at line 140 of file IntegratorMultiDim.h.
|
inline |
evaluate the integral passing a new generic function
Definition at line 147 of file IntegratorMultiDim.h.
|
inline |
return name of integrator
Definition at line 196 of file IntegratorMultiDim.h.
|
inlineprivate |
Definition at line 127 of file IntegratorMultiDim.h.
|
inline |
|
inline |
return result of last integration
Definition at line 169 of file IntegratorMultiDim.h.
set absolute tolerance
Definition at line 184 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 158 of file IntegratorMultiDim.h.
Referenced by Integral(), IntegratorMultiDim(), and testIntegrationMultiDim().
|
inline |
Definition at line 164 of file IntegratorMultiDim.h.
|
inline |
set the options
Definition at line 187 of file IntegratorMultiDim.h.
set the relative tolerance
Definition at line 181 of file IntegratorMultiDim.h.
|
inline |
return the Error Status of the last Integral calculation
Definition at line 175 of file IntegratorMultiDim.h.
Referenced by TF1::IntegralMultiple().
|
private |
Definition at line 211 of file IntegratorMultiDim.h.
Referenced by SetFunction().
|
private |
Definition at line 210 of file IntegratorMultiDim.h.
Referenced by Error(), GetIntegrator(), Integral(), IntegratorMultiDim(), Name(), Options(), Result(), SetAbsTolerance(), SetFunction(), SetOptions(), SetRelTolerance(), Status(), and ~IntegratorMultiDim().