Adaptive one-dimensional numerical integration algorithm.
Definition at line 32 of file RooAdaptiveIntegratorND.h.
Public Member Functions | |
RooAdaptiveIntegratorND (const RooAbsFunc &function, const RooNumIntConfig &config) | |
Constructor of integral on given function binding and with given configuration. | |
~RooAdaptiveIntegratorND () override | |
Destructor. | |
bool | checkLimits () const override |
Check that our integration range is finite and otherwise return false. | |
double | integral (const double *yvec=nullptr) override |
Evaluate integral at given function binding parameter values. | |
virtual bool | setLimits (double *, double *) |
bool | setLimits (double *xmin, double *xmax) override |
Change our integration limits. | |
virtual bool | setLimits (double xmin, double xmax) |
Interface to set limits on integration. | |
bool | setUseIntegrandLimits (bool flag) override |
Interface function that allows to defer limit definition to integrand definition. | |
Public Member Functions inherited from RooAbsIntegrator | |
RooAbsIntegrator () | |
RooAbsIntegrator (const RooAbsFunc &function, bool printEvalCounter=false) | |
Copy constructor. | |
virtual | ~RooAbsIntegrator ()=default |
double | calculate (const double *yvec=nullptr) |
Calculate integral value with given array of parameter values. | |
const RooAbsFunc * | integrand () const |
Return integrand function binding. | |
double | integrand (const double x[]) const |
Return value of integrand at given observable values. | |
bool | isValid () const |
Is integrator in valid state. | |
bool | printEvalCounter () const |
void | setPrintEvalCounter (bool value) |
Protected Member Functions | |
RooAdaptiveIntegratorND (const RooAdaptiveIntegratorND &) | |
Static Protected Member Functions | |
static void | registerIntegrator (RooNumIntFactory &fact) |
Register RooAdaptiveIntegratorND, its parameters, dependencies and capabilities with RooNumIntFactory. | |
Protected Attributes | |
double | _epsAbs |
Absolute precision. | |
double | _epsRel |
Relative precision. | |
std::unique_ptr< ROOT::Math::IMultiGenFunction > | _func |
! ROOT::Math multi-parameter function binding | |
ROOT::Math::AdaptiveIntegratorMultiDim * | _integrator |
TString | _intName |
Integrand name. | |
Int_t | _nError |
Number of error occurrences. | |
Int_t | _nmax |
Max number of divisions. | |
Int_t | _nWarn |
Max number of warnings to be issued ;. | |
std::unique_ptr< RooFunctor > | _rooFunctor |
! RooFunctor binding | |
bool | _useIntegrandLimits |
If true limits of function binding are used. | |
std::vector< double > | _xmax |
Upper bound in each dimension. | |
std::vector< double > | _xmin |
Lower bound in each dimension. | |
Protected Attributes inherited from RooAbsIntegrator | |
const RooAbsFunc * | _function = nullptr |
Pointer to function binding of integrand. | |
bool | _printEvalCounter = false |
If true print number of function evaluation required for integration. | |
bool | _valid = false |
Is integrator in valid state? | |
Friends | |
class | RooNumIntFactory |
RooAdaptiveIntegratorND::RooAdaptiveIntegratorND | ( | const RooAbsFunc & | function, |
const RooNumIntConfig & | config | ||
) |
Constructor of integral on given function binding and with given configuration.
The integration limits are taken from the definition in the function binding _func = function.
Definition at line 73 of file RooAdaptiveIntegratorND.cxx.
|
override |
Destructor.
Definition at line 104 of file RooAdaptiveIntegratorND.cxx.
|
protected |
|
overridevirtual |
Check that our integration range is finite and otherwise return false.
Update the limits from the integrand if requested.
Reimplemented from RooAbsIntegrator.
Definition at line 120 of file RooAdaptiveIntegratorND.cxx.
Evaluate integral at given function binding parameter values.
Implements RooAbsIntegrator.
Definition at line 163 of file RooAdaptiveIntegratorND.cxx.
|
staticprotected |
Register RooAdaptiveIntegratorND, its parameters, dependencies and capabilities with RooNumIntFactory.
Definition at line 48 of file RooAdaptiveIntegratorND.cxx.
Reimplemented from RooAbsIntegrator.
Definition at line 54 of file RooAbsIntegrator.h.
Change our integration limits.
Return true if the new limits are ok, or otherwise false. Always returns false and does nothing if this object was constructed to always use our integrand's limits.
Reimplemented from RooAbsIntegrator.
Definition at line 143 of file RooAdaptiveIntegratorND.cxx.
Interface to set limits on integration.
Reimplemented from RooAbsIntegrator.
Definition at line 55 of file RooAbsIntegrator.cxx.
Interface function that allows to defer limit definition to integrand definition.
Reimplemented from RooAbsIntegrator.
Definition at line 45 of file RooAdaptiveIntegratorND.h.
|
friend |
Definition at line 68 of file RooAdaptiveIntegratorND.h.
|
protected |
Absolute precision.
Definition at line 59 of file RooAdaptiveIntegratorND.h.
|
protected |
Relative precision.
Definition at line 58 of file RooAdaptiveIntegratorND.h.
|
protected |
! ROOT::Math multi-parameter function binding
Definition at line 64 of file RooAdaptiveIntegratorND.h.
|
protected |
Definition at line 65 of file RooAdaptiveIntegratorND.h.
|
protected |
Integrand name.
Definition at line 66 of file RooAdaptiveIntegratorND.h.
|
protected |
Number of error occurrences.
Definition at line 61 of file RooAdaptiveIntegratorND.h.
|
protected |
Max number of divisions.
Definition at line 60 of file RooAdaptiveIntegratorND.h.
|
protected |
Max number of warnings to be issued ;.
Definition at line 62 of file RooAdaptiveIntegratorND.h.
|
protected |
! RooFunctor binding
Definition at line 63 of file RooAdaptiveIntegratorND.h.
|
protected |
If true limits of function binding are used.
Definition at line 54 of file RooAdaptiveIntegratorND.h.
|
mutableprotected |
Upper bound in each dimension.
Definition at line 57 of file RooAdaptiveIntegratorND.h.
|
mutableprotected |
Lower bound in each dimension.
Definition at line 56 of file RooAdaptiveIntegratorND.h.