31#ifndef ROOT_Math_GSLInterpolator
32#define ROOT_Math_GSLInterpolator
40#include "gsl/gsl_interp.h"
41#include "gsl/gsl_spline.h"
43#include "gsl/gsl_errno.h"
71 bool Init(
unsigned int ndata,
const double *
x,
const double *
y);
77 static unsigned int nErrors = 0;
88 MATH_WARN_MSG(
"GSLInterpolator::Eval",
"Suppressing additional warnings");
99 static unsigned int nErrors = 0;
110 MATH_WARN_MSG(
"GSLInterpolator::Deriv",
"Suppressing additional warnings");
120 static unsigned int nErrors = 0;
129 MATH_WARN_MSG(
"GSLInterpolator::Deriv2", gsl_strerror(ierr));
131 MATH_WARN_MSG(
"GSLInterpolator::Deriv2",
"Suppressing additional warnings");
144 static unsigned int nErrors = 0;
155 MATH_WARN_MSG(
"GSLInterpolator::Integ",
"Suppressing additional warnings");
#define MATH_WARN_MSG(loc, str)
Interpolation class based on GSL interpolation functions.
virtual ~GSLInterpolator()
gsl_interp_accel * fAccel
GSLInterpolator(unsigned int ndata, Interpolation::Type type)
double Deriv2(double x) const
double Eval(double x) const
GSLInterpolator & operator=(const GSLInterpolator &)
bool Init(unsigned int ndata, const double *x, const double *y)
const gsl_interp_type * fInterpType
double Integ(double a, double b) const
GSLInterpolator(const Interpolation::Type type, const std::vector< double > &x, const std::vector< double > &y)
double Deriv(double x) const
Type
Enumeration defining the types of interpolation methods availables.
Namespace for new Math classes and functions.