63 _case(ClosedBothEnds), _xmin(-10), _xmax(10), _useIntegrandLimits(
kTRUE),
64 _origFunc(0), _function(0), _integrator1(0), _integrator2(0), _integrator3(0)
75 _useIntegrandLimits(
kTRUE),
93 _useIntegrandLimits(
kTRUE),
113 _useIntegrandLimits(
kFALSE),
302 else if(inf1 && inf2) {
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
virtual Double_t getMinLimit(UInt_t dimension) const =0
virtual Double_t getMaxLimit(UInt_t dimension) const =0
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
Bool_t _valid
Is integrator in valid state?
const RooAbsFunc * integrand() const
Return integrand function binding.
Bool_t isValid() const
Is integrator in valid state.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Special numeric integrator that can handle integrals over open domains.
LimitsCase limitsCase() const
Classify the type of limits we have: OpenBothEnds,ClosedBothEnds,OpenBelow or OpenAbove.
RooIntegrator1D * _integrator1
Bool_t checkLimits() const override
Check if the limits are valid.
RooIntegrator1D * _integrator3
Piece integrators.
RooInvTransform * _function
Binding with inverse of function.
RooImproperIntegrator1D()
Default constructor.
LimitsCase _case
Configuration of limits.
RooAbsFunc * _origFunc
Original function binding.
void initialize(const RooAbsFunc *function=0)
Initialize the integrator, construct and initialize subintegrators.
Bool_t setLimits(Double_t *xmin, Double_t *xmax) override
Change our integration limits.
RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const override
Return clone of integrator with given function and configuration. Needed by RooNumIntFactory.
Bool_t _useIntegrandLimits
Use limits in function binding?
RooIntegrator1D * _integrator2
Double_t _xmax
Value of limits.
Double_t integral(const Double_t *yvec=0) override
Calculate the integral at the given parameter values of the function binding.
RooNumIntConfig _config
Configuration object.
static void registerIntegrator(RooNumIntFactory &fact)
Register RooImproperIntegrator1D, its parameters and capabilities with RooNumIntFactory.
~RooImproperIntegrator1D() override
Destructor.
RooIntegrator1D implements an adaptive one-dimensional numerical integration algorithm.
Bool_t setLimits(Double_t *xmin, Double_t *xmax) override
Change our integration limits.
Double_t integral(const Double_t *yvec=0) override
Calculate numeric integral at given set of function binding parameters.
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 ...
Bool_t storeProtoIntegrator(RooAbsIntegrator *proto, const RooArgSet &defConfig, const char *depName="")
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
static Int_t isInfinite(Double_t x)
Return true if x is infinite by RooNumBer internal specification.
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
void function(const Char_t *name_, T fun, const Char_t *docstring=0)