14#ifndef ROOT_Math_VirtualIntegrator 
   15#define ROOT_Math_VirtualIntegrator 
   73   virtual double Error() 
const = 0;
 
   84   virtual int NEval()
 const { 
return -1; }
 
 
  135      return Options().IntegratorType();
 
 
 
  168   virtual double Integral(
const double*, 
const double*)  = 0;
 
  179      return Options().IntegratorType();
 
 
 
double RelTolerance() const
absolute tolerance
 
double AbsTolerance() const
non-static methods for retrieving options
 
Documentation for the abstract class IBaseFunctionMultiDim.
 
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
 
Numerical multi dimensional integration options.
 
Numerical one dimensional integration options.
 
Interface (abstract) class for multi numerical integration It must be implemented by the concrete Int...
 
virtual ROOT::Math::IntegrationMultiDim::Type Type() const
return type of integrator
 
virtual void SetOptions(const ROOT::Math::IntegratorMultiDimOptions &opt)
set the options (if needed must be re-implemented by derived classes)
 
virtual double Integral(const double *, const double *)=0
evaluate multi-dim integral
 
virtual ROOT::Math::IntegratorMultiDimOptions Options() const =0
get the option used for the integration implement by derived class otherwise return default ones
 
~VirtualIntegratorMultiDim() override
destructor: no operation
 
virtual void SetFunction(const IMultiGenFunction &)=0
setting a multi-dim function
 
Interface (abstract) class for 1D numerical integration It must be implemented by the concrete Integr...
 
~VirtualIntegratorOneDim() override
destructor: no operation
 
virtual double Integral()=0
evaluate un-defined integral (between -inf, + inf)
 
virtual ROOT::Math::IntegratorOneDimOptions Options() const =0
get the option used for the integration must be implemented by derived class
 
virtual ROOT::Math::IntegrationOneDim::Type Type() const
return type of integrator
 
virtual void SetFunction(const IGenFunction &)=0
set integration function
 
virtual double IntegralCauchy(double a, double b, double c)=0
evaluate Cauchy integral
 
virtual double IntegralLow(double b)=0
evaluate integral over the (-inf, b)
 
virtual void SetOptions(const ROOT::Math::IntegratorOneDimOptions &opt)
set the options (should be re-implemented by derived classes -if more options than tolerance exist
 
virtual double Integral(double a, double b)=0
evaluate integral
 
virtual double IntegralUp(double a)=0
evaluate integral over the (a, +inf)
 
virtual double Integral(const std::vector< double > &pts)=0
evaluate integral with singular points
 
Abstract class for all numerical integration methods (1D and multi-dim) Interface defining the common...
 
virtual void SetRelTolerance(double)=0
set the desired relative Error
 
virtual void SetAbsTolerance(double)=0
set the desired absolute Error
 
virtual double Error() const =0
return the estimate of the absolute Error of the last Integral calculation
 
virtual int NEval() const
return number of function evaluations in calculating the integral (if integrator do not implement thi...
 
virtual double Result() const =0
return the Result of the last Integral calculation
 
virtual ~VirtualIntegrator()
destructor: no operation
 
virtual int Status() const =0
return the Error Status of the last Integral calculation
 
Type
enumeration specifying the integration types.
 
Type
enumeration specifying the integration types.
 
Namespace for new Math classes and functions.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...