class for adaptive quadrature integration in multi-dimensions Algorithm from A.C. Genz, A.A. Malik, An adaptive algorithm for numerical integration over an N-dimensional rectangular region, J. Comput. Appl. Math. 6 (1980) 295-302. Converted/adapted by R.Brun to C++ from Fortran CERNLIB routine RADMUL (D120) The new code features many changes compared to the Fortran version. @ingroup Integration
virtual | ~AdaptiveIntegratorMultiDim() |
ROOT::Math::AdaptiveIntegratorMultiDim | AdaptiveIntegratorMultiDim(const ROOT::Math::AdaptiveIntegratorMultiDim&) |
ROOT::Math::AdaptiveIntegratorMultiDim | AdaptiveIntegratorMultiDim(double absTol = 1.E-6, double relTol = 1E-6, unsigned int size = 100000) |
ROOT::Math::AdaptiveIntegratorMultiDim | AdaptiveIntegratorMultiDim(const ROOT::Math::IMultiGenFunction& f, double absTol = 1.E-9, double relTol = 1E-6, unsigned int size = 100000) |
virtual double | Error() const |
virtual double | Integral(const double* xmin, const double* xmax) |
double | Integral(const ROOT::Math::IMultiGenFunction& f, const double* xmin, const double* xmax) |
unsigned int | NEval() const |
ROOT::Math::VirtualIntegratorMultiDim& | ROOT::Math::VirtualIntegratorMultiDim::operator=(const ROOT::Math::VirtualIntegratorMultiDim&) |
double | RelError() const |
virtual double | Result() const |
virtual void | SetAbsTolerance(double absTol) |
virtual void | SetFunction(const ROOT::Math::IMultiGenFunction& f) |
virtual void | SetRelTolerance(double relTol) |
virtual int | Status() const |
double | fAbsTol | absolute tolerance |
unsigned int | fDim | dimentionality of integrand |
double | fError | integration error |
const ROOT::Math::IMultiGenFunction* | fFun | pointer to integrand function |
unsigned int | fNEval | number of function evaluation |
double | fRelError | Relative error |
double | fRelTol | relative tolerance |
double | fResult | last integration result |
unsigned int | fSize | max size of working array (explode with dimension) |
int | fStatus | status of algorithm (error if not zero) |
construct given optionally tolerance (absolute and relative) and maximum size of working array The size of working array represents the number of sub-division used for calculating the integral. Higher the dimension, larger sizes are required for getting the same accuracy.
construct with a reference to the integrand function and given optionally tolerance (absolute and relative) and maximum size of working array.
evaluate the integral with the previously given function between xmin[] and xmax[]
evaluate the integral passing a new function
set the integration function (must implement multi-dim funciton interface: IBaseFunctionMultiDim)
return number of function evaluations in calculating the integral
{ return fNEval; }