16#ifndef ROO_ABS_INTEGRATOR
17#define ROO_ABS_INTEGRATOR
51 double calculate(
const double *yvec=
nullptr) ;
52 virtual double integral(
const double *yvec=
nullptr)=0 ;
62 virtual bool setLimits(
double*,
double*) {
return false ; }
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
virtual bool setUseIntegrandLimits(bool flag)
Interface function that allows to defer limit definition to integrand definition.
bool isValid() const
Is integrator in valid state.
virtual bool canIntegrateOpenEnded() const =0
virtual bool canIntegrateND() const =0
void setPrintEvalCounter(bool value)
double integrand(const double x[]) const
Return value of integrand at given observable values.
virtual bool checkLimits() const
If true, finite limits are required on the observable range.
double calculate(const double *yvec=nullptr)
Calculate integral value with given array of parameter values.
~RooAbsIntegrator() override
Destructor.
virtual double integral(const double *yvec=nullptr)=0
const RooAbsFunc * _function
Pointer to function binding of integrand.
virtual RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const =0
const RooAbsFunc * integrand() const
Return integrand function binding.
bool printEvalCounter() const
virtual bool canIntegrate1D() const =0
bool _valid
Is integrator in valid state?
virtual bool setLimits(double *, double *)
virtual bool canIntegrate2D() const =0
bool _printEvalCounter
If true print number of function evaluation required for integration.
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
Mother of all ROOT objects.