31#ifndef ROOT_Math_Interpolator
32#define ROOT_Math_Interpolator
52 class GSLInterpolator;
99 bool SetData(
const std::vector<double> &
x,
const std::vector<double> &
y);
106 bool SetData(
unsigned int ndata,
const double *
x,
const double *
y);
111 double Eval(
double x )
const;
116 double Deriv(
double x )
const;
121 double Deriv2(
double x )
const;
126 double Integ(
double a,
double b)
const;
131 std::string
Type()
const;
Interpolation class based on GSL interpolation functions.
Class for performing function interpolation of points.
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.
GSLInterpolator * fInterp
Interpolator & operator=(const Interpolator &)
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.
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.