31 #ifndef ROOT_Math_ChebyshevApprox
32 #define ROOT_Math_ChebyshevApprox
57 class GSLFunctionWrapper;
71 class ChebyshevApprox {
81 ChebyshevApprox(
const ROOT::Math::IGenFunction & f,
double a,
double b,
size_t n);
87 ChebyshevApprox(GSLFuncPointer f,
void *p,
double a,
double b,
size_t n);
90 virtual ~ChebyshevApprox();
99 ChebyshevApprox(
size_t n);
102 ChebyshevApprox(
const ChebyshevApprox &);
103 ChebyshevApprox & operator = (
const ChebyshevApprox &);
110 double operator() (
double x)
const;
117 std::pair<double, double> EvalErr(
double x)
const;
122 double operator() (
double x,
size_t n)
const;
130 std::pair<double, double> EvalErr(
double x,
size_t n)
const;
137 ChebyshevApprox * Deriv();
145 ChebyshevApprox * Integral();
152 void Initialize( GSLFuncPointer f,
void * params,
double a,
double b);
158 GSLChebSeries * fSeries;
159 GSLFunctionWrapper * fFunction;