31#ifndef ROOT_Math_GSLIntegrator
32#define ROOT_Math_GSLIntegrator
271 double Integral(
const std::vector<double> & pts)
override;
318 double Result()
const override;
323 double Error()
const override;
328 int Status()
const override;
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
Wrapper class to the gsl_function C structure.
void SetOptions(const ROOT::Math::IntegratorOneDimOptions &opt) override
set the options
Integration::GKRule fRule
void SetIntegrationRule(Integration::GKRule)
set the integration rule (Gauss-Kronrod rule).
~GSLIntegrator() override
GSLIntegrator & operator=(const GSLIntegrator &)
double Result() const override
return the Result of the last Integral calculation
double Error() const override
return the estimate of the absolute Error of the last Integral calculation
IntegrationOneDim::Type GetType() const
get type name
double IntegralCauchy(double a, double b, double c) override
evaluate the Cauchy principal value of the integral of a previously defined function f over the defin...
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
double Integral() override
evaluate the Integral over the infinite interval (-inf,+inf) using the function previously set with G...
GSLFunctionWrapper * fFunction
int NEval() const override
return number of function evaluations in calculating the integral
void SetAbsTolerance(double absTolerance) override
set the desired absolute Error
int Status() const override
return the Error Status of the last Integral calculation
ROOT::Math::IntegratorOneDimOptions Options() const override
get the option used for the integration
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
void SetFunction(const IGenFunction &f) override
method to set the a generic integration function
void SetRelTolerance(double relTolerance) override
set the desired relative Error
Numerical one dimensional integration options.
Interface (abstract) class for 1D numerical integration It must be implemented by the concrete Integr...
GKRule
enumeration specifying the Gauss-KronRod integration rule for ADAPTIVE integration type
Type
enumeration specifying the integration types.
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.
IBaseFunctionOneDim IGenFunction