16 #ifndef ROO_IMPROPER_INTEGRATOR_1D
17 #define ROO_IMPROPER_INTEGRATOR_1D
virtual Bool_t checkLimits() const
Check if the limits are valid.
RooInvTransform * _function
virtual Bool_t setLimits(Double_t *, Double_t *)
static void registerIntegrator(RooNumIntFactory &fact)
Register RooImproperIntegrator1D, its parameters and capabilities with RooNumIntFactory.
void initialize(const RooAbsFunc *function=0)
Initialize the integrator, construct and initialize subintegrators.
RooIntegrator1D * _integrator2
#define ClassDef(name, id)
Bool_t setLimits(Double_t *xmin, Double_t *xmax)
Change our integration limits.
RooImproperIntegrator1D()
Default constructor.
virtual Bool_t canIntegrate1D() const
RooIntegrator1D * _integrator1
RooIntegrator1D * _integrator3
virtual Bool_t canIntegrateOpenEnded() const
virtual Bool_t canIntegrateND() const
virtual Bool_t setUseIntegrandLimits(Bool_t flag)
Interface function that allows to defer limit definition to integrand definition. ...
LimitsCase limitsCase() const
Classify the type of limits we have: OpenBothEnds,ClosedBothEnds,OpenBelow or OpenAbove.
virtual Bool_t canIntegrate2D() const
virtual Double_t integral(const Double_t *yvec=0)
Calculate the integral at the given parameter values of the function binding.
virtual RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const
Return clone of integrator with given function and configuration. Needed by RooNumIntFactory.
Bool_t _useIntegrandLimits
virtual ~RooImproperIntegrator1D()
Destructor.