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. @ingroup Integration
virtual | ~IntegratorMultiDim() |
double | Error() const |
ROOT::Math::VirtualIntegratorMultiDim* | GetIntegrator() |
double | Integral(const double* xmin, const double* xmax) |
double | Integral(const ROOT::Math::IMultiGenFunction& f, const double* xmin, const double* xmax) |
ROOT::Math::IntegratorMultiDim | IntegratorMultiDim(ROOT::Math::IntegrationMultiDim::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, double relTol = 1E-6, unsigned int ncall = 100000) |
ROOT::Math::IntegratorMultiDim | IntegratorMultiDim(const ROOT::Math::IMultiGenFunction& f, ROOT::Math::IntegrationMultiDim::Type type = IntegrationMultiDim::kADAPTIVE, double absTol = 1.E-9, double relTol = 1E-6, unsigned int ncall = 100000) |
double | Result() const |
void | SetAbsTolerance(double absTol) |
void | SetFunction(const ROOT::Math::IMultiGenFunction& f) |
void | SetRelTolerance(double relTol) |
int | Status() const |
ROOT::Math::VirtualIntegratorMultiDim* | CreateIntegrator(ROOT::Math::IntegrationMultiDim::Type type, double absTol, double relTol, unsigned int ncall) |
ROOT::Math::IntegratorMultiDim | IntegratorMultiDim(const ROOT::Math::IntegratorMultiDim&) |
ROOT::Math::IntegratorMultiDim& | operator=(const ROOT::Math::IntegratorMultiDim&) |
ROOT::Math::VirtualIntegratorMultiDim* | fIntegrator | pointer to multi-dimensional integrator base class |
Generic Constructor of multi dimensional Integrator passing a function. By default uses the adaptive integration method @param f integration function (multi-dim interface) @param type integration type (adaptive, MC methods, etc..) @param absTol desired absolute Error @param relTol desired relative Error @param ncall number of function calls (apply only to MC integratioon methods)
Template Constructor of multi dimensional Integrator passing a generic function. By default uses the adaptive integration method @param f integration function (generic function implementin operator()(const double *) @param dim function dimension @param type integration type (adaptive, MC methods, etc..) @param absTol desired absolute Error @param relTol desired relative Error @param ncall number of function calls (apply only to MC integratioon methods)
evaluate the integral with the previously given function between xmin[] and xmax[]
evaluate the integral passing a new function
return result of last integration
{ return fIntegrator == 0 ? 0 : fIntegrator->Result(); }
return number of function evaluations in calculating the integral unsigned int NEval() const { return fNEval; } set the relative tolerance
{ if (fIntegrator) fIntegrator->SetRelTolerance(relTol); }
set absolute tolerance
{ if (fIntegrator) fIntegrator->SetAbsTolerance(absTol); }
return a pointer to integrator object
{ return fIntegrator; }