14 #ifndef ROOT_Math_VirtualIntegrator 15 #define ROOT_Math_VirtualIntegrator 17 #ifndef ROOT_Math_IFunctionfwd 21 #ifndef ROOT_Math_Error 25 #ifndef ROOT_Math_IntegratorOptions 75 virtual double Result()
const = 0;
80 virtual double Error()
const = 0;
85 virtual int Status()
const = 0;
91 virtual int NEval()
const {
return -1; }
119 virtual double Integral(
double a,
double b) = 0;
125 virtual double Integral() = 0;
128 virtual double IntegralUp(
double a) = 0;
131 virtual double IntegralLow(
double b) = 0;
134 virtual double Integral(
const std::vector<double> & pts) = 0;
137 virtual double IntegralCauchy(
double a,
double b,
double c) = 0;
145 return Options().IntegratorType();
180 virtual double Integral(
const double*,
const double*) = 0;
191 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...
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Type
enumeration specifying the integration types.
virtual ~VirtualIntegratorOneDim()
destructor: no operation
virtual int Status() const =0
return the Error Status of the last Integral calculation
virtual ROOT::Math::IntegrationMultiDim::Type Type() const
virtual double Error() const =0
return the estimate of the absolute Error of the last Integral calculation
virtual ROOT::Math::IntegrationOneDim::Type Type() const
virtual ~VirtualIntegratorMultiDim()
destructor: no operation
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 ...
Numerical multi dimensional integration options.
Interface (abstract) class for multi numerical integration It must be implemented by the concrete Int...
virtual ~VirtualIntegrator()
Numerical one dimensional integration options.
Type
enumeration specifying the integration types.
double RelTolerance() const
absolute tolerance
virtual double Result() const =0
return the Result of the last Integral calculation
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 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
double AbsTolerance() const
non-static methods for retrivieng options
virtual int NEval() const
return number of function evaluations in calculating the integral (if integrator do not implement thi...
Documentation for the abstract class IBaseFunctionMultiDim.