40 #include "gsl/gsl_chebyshev.h" 50 fOrder(n) , fSeries(0), fFunction(0)
56 Initialize( &adapter.
F, const_cast<void *>(p), a, b );
90 if (
this == &rhs)
return *
this;
116 double result, error;
117 gsl_cheb_eval_err(
fSeries->
get(),
x, &result, &error);
118 return std::make_pair( result, error);
128 double result, error;
129 gsl_cheb_eval_n_err(
fSeries->
get(), n,
x, &result, &error);
130 return std::make_pair( result, error);
Class describing a Chebyshev series which can be used to approximate a function in a defined range [a...
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
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...
Namespace for new ROOT classes and functions.
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.
double operator()(double x) const
Evaluate the series at a given point x.
wrapper class for C struct gsl_cheb_series
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.
Class for adapting any C++ functor class to C function pointers used by GSL.
ChebyshevApprox * Deriv()
Compute the derivative of the series and return a pointer to a new Chebyshev series with the derivati...
* x
Deprecated and error prone model selection interface.
gsl_cheb_series * get() const
void SetFuncPointer(GSLFuncPointer f)
set in the GSL C struct the pointer to the function evaluation
Namespace for new Math classes and functions.
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
void SetParams(void *p)
set in the GSL C struct the extra-object pointer
static double F(double x, void *p)
virtual ~ChebyshevApprox()