31 #ifndef ROOT_Math_ChebyshevApprox
32 #define ROOT_Math_ChebyshevApprox
45 #ifndef ROOT_Math_IFunctionfwd
49 #ifndef ROOT_Math_GSLFunctionAdapter
61 class GSLFunctionWrapper;
121 std::pair<double, double>
EvalErr(
double x)
const;
126 double operator() (
double x,
size_t n)
const;
134 std::pair<double, double>
EvalErr(
double x,
size_t n)
const;
Class describing a Chebyshev series which can be used to approximate a function in a defined range [a...
std::pair< double, double > EvalErr(double x) const
Evaluate the series at a given point x estimating both the series result and its absolute error...
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
ChebyshevApprox * Integral()
Compute the integral of the series and return a pointer to a new Chebyshev series with the integral c...
void Initialize(GSLFuncPointer f, void *params, double a, double b)
Initialize series passing function and range.
wrapper class for C struct gsl_cheb_series
double operator()(double x) const
Evaluate the series at a given point x.
GSLFunctionWrapper * fFunction
ChebyshevApprox & operator=(const ChebyshevApprox &)
ChebyshevApprox(const ROOT::Math::IGenFunction &f, double a, double b, size_t n)
Construct a Chebyshev series approximation to a Function f in range [a,b]; constructor based on funct...
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.
ChebyshevApprox * Deriv()
Compute the derivative of the series and return a pointer to a new Chebyshev series with the derivati...
Wrapper class to the gsl_function C structure.
virtual ~ChebyshevApprox()