31 #ifndef ROOT_Math_GSLIntegrator 32 #define ROOT_Math_GSLIntegrator 55 class GSLIntegrationWorkspace;
56 class GSLFunctionWrapper;
106 GSLIntegrator(
double absTol = 1.
E-9,
double relTol = 1
E-6,
size_t size = 1000);
146 GSLIntegrator(
const char * type,
int rule,
double absTol,
double relTol,
size_t size );
246 double Integral(
double a,
double b);
271 double Integral(
const std::vector<double> & pts);
323 double Error()
const;
double Result() const
return the Result of the last Integral calculation
GKRule
enumeration specifying the Gauss-KronRod integration rule for ADAPTIVE integration type ...
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.
double IntegralUp(const IGenFunction &f, double a)
evaluate the Integral of a function f over the semi-infinite interval (a,+inf)
void SetIntegrationRule(Integration::GKRule)
set the integration rule (Gauss-Kronrod rule).
int Status() const
return the Error Status of the last Integral calculation
GSLFunctionWrapper * fFunction
IntegrationOneDim::Type GetType() const
get type name
int NEval() const
return number of function evaluations in calculating the integral
virtual void SetOptions(const ROOT::Math::IntegratorOneDimOptions &opt)
set the options
Class for performing numerical integration of a function in one dimension.
double IntegralLow(const IGenFunction &f, double b)
evaluate the Integral of a function f over the over the semi-infinite interval (-inf,b)
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.
double Integral()
evaluate the Integral over the infinite interval (-inf,+inf) using the function previously set with G...
Numerical one dimensional integration options.
void SetFunction(const IGenFunction &f)
method to set the a generic integration function
double Error() const
return the estimate of the absolute Error of the last Integral calculation
constexpr Double_t E()
Base of natural log: .
Type
enumeration specifying the integration types.
GSLIntegrator(double absTol=1.E-9, double relTol=1E-6, size_t size=1000)
Default constructor of GSL Integrator for Adaptive Singular integration.
void SetRelTolerance(double relTolerance)
set the desired relative Error
GSLIntegrationWorkspace * fWorkspace
double IntegralCauchy(double a, double b, double c)
evaluate the Cauchy principal value of the integral of a previously defined function f over the defin...
Namespace for new Math classes and functions.
virtual ROOT::Math::IntegratorOneDimOptions Options() const
get the option used for the integration
void SetAbsTolerance(double absTolerance)
set the desired absolute Error
const char * GetTypeName() const
return the name
GSLIntegrator & operator=(const GSLIntegrator &)
Wrapper class to the gsl_function C structure.
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
Integration::GKRule fRule