16#ifndef ROO_GAUSS_KRONROD_INTEGRATOR_1D
17#define ROO_GAUSS_KRONROD_INTEGRATOR_1D
34 double integral(
const double *yvec=
nullptr)
override ;
56 double*
xvec(
double& xx) {
_x[0] = xx ;
return _x.data(); }
57 std::vector<double>
_x ;
double RooGaussKronrodIntegrator1D_GSL_GlueFunction(double x, void *data)
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
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 setLimits(double *, double *)
RooGaussKronrodIntegrator1D implements the Gauss-Kronrod integration algorithm.
double _epsAbs
do not persist
bool canIntegrate2D() const override
double integral(const double *yvec=nullptr) override
Calculate and return integral.
double _xmax
Lower integration bound.
friend double RooGaussKronrodIntegrator1D_GSL_GlueFunction(double x, void *data)
bool initialize()
Perform one-time initialization of integrator.
RooGaussKronrodIntegrator1D()
bool checkLimits() const override
Check that our integration range is finite and otherwise return false.
bool setUseIntegrandLimits(bool flag) override
Interface function that allows to defer limit definition to integrand definition.
bool canIntegrateND() const override
bool canIntegrateOpenEnded() const override
RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const override
Clone integrator with given function and configuration. Needed for RooNumIntFactory.
bool setLimits(double *xmin, double *xmax) override
Change our integration limits.
bool canIntegrate1D() const override
double * xvec(double &xx)
static void registerIntegrator(RooNumIntFactory &fact)
Register RooGaussKronrodIntegrator1D, its parameters and capabilities with RooNumIntConfig.
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
RooNumIntFactory is a factory to instantiate numeric integrators from a given function binding and a ...