14 #ifndef ROOT_Math_VirtualIntegrator 15 #define ROOT_Math_VirtualIntegrator 69 virtual double Result()
const = 0;
74 virtual double Error()
const = 0;
79 virtual int Status()
const = 0;
85 virtual int NEval()
const {
return -1; }
113 virtual double Integral(
double a,
double b) = 0;
119 virtual double Integral() = 0;
122 virtual double IntegralUp(
double a) = 0;
125 virtual double IntegralLow(
double b) = 0;
128 virtual double Integral(
const std::vector<double> & pts) = 0;
131 virtual double IntegralCauchy(
double a,
double b,
double c) = 0;
139 return Options().IntegratorType();
174 virtual double Integral(
const double*,
const double*) = 0;
185 return Options().IntegratorType();
virtual void SetRelTolerance(double)=0
set the desired relative Error
Interface (abstract) class for 1D numerical integration It must be implemented by the concrate Integr...
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Namespace for new ROOT classes and functions.
Type
enumeration specifying the integration types.
virtual double Result() const =0
return the Result of the last Integral calculation
virtual ~VirtualIntegratorOneDim()
destructor: no operation
double RelTolerance() const
absolute tolerance
virtual ~VirtualIntegratorMultiDim()
destructor: no operation
virtual double Error() const =0
return the estimate of the absolute Error of the last Integral calculation
Abstract class for all numerical integration methods (1D and multi-dim) Interface defining the common...
virtual void SetOptions(const ROOT::Math::IntegratorOneDimOptions &opt)
set the options (should be re-implemented by derived classes -if more options than tolerance exist ...
Documentation for the abstract class IBaseFunctionMultiDim.
Numerical multi dimensional integration options.
Interface (abstract) class for multi numerical integration It must be implemented by the concrete Int...
virtual ~VirtualIntegrator()
double AbsTolerance() const
non-static methods for retrivieng options
Numerical one dimensional integration options.
virtual int Status() const =0
return the Error Status of the last Integral calculation
Type
enumeration specifying the integration types.
virtual int NEval() const
return number of function evaluations in calculating the integral (if integrator do not implement thi...
virtual ROOT::Math::IntegrationMultiDim::Type Type() const
virtual void SetOptions(const ROOT::Math::IntegratorMultiDimOptions &opt)
set the options (if needed must be re-implemented by derived classes)
Namespace for new Math classes and functions.
virtual ROOT::Math::IntegrationOneDim::Type Type() const
virtual void SetAbsTolerance(double)=0
set the desired absolute Error
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b