31#ifndef ROOT_Math_Interpolator
32#define ROOT_Math_Interpolator
98 bool SetData(
const std::vector<double> &
x,
const std::vector<double> &
y);
105 bool SetData(
unsigned int ndata,
const double *
x,
const double *
y);
110 double Eval(
double x )
const;
115 double Deriv(
double x )
const;
120 double Deriv2(
double x )
const;
125 double Integ(
double a,
double b)
const;
130 std::string
Type()
const;
Interpolation class based on GSL interpolation functions.
double Deriv2(double x) const
Return the second derivative of the interpolated function at point x.
std::string Type() const
Return the type of interpolation method.
bool SetData(const std::vector< double > &x, const std::vector< double > &y)
Set the data vector ( x[] and y[] ) To be efficient, the size of the data must be the same of the val...
double Integ(double a, double b) const
Return the Integral of the interpolated function over the range [a,b].
std::string TypeGet() const
double Deriv(double x) const
Return the derivative of the interpolated function at point x.
double Eval(double x) const
Return the interpolated value at point x.
Interpolator(const Interpolator &)=delete
GSLInterpolator * fInterp
Interpolator & operator=(const Interpolator &)=delete
Interpolator(Interpolator &&)=delete
Interpolator(unsigned int ndata=0, Interpolation::Type type=Interpolation::kCSPLINE)
Constructs an interpolator class from number of data points and with Interpolation::Type type.
Type
Enumeration defining the types of interpolation methods availables.