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