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
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; }