10 #ifndef SRC_INCLUDE_SMASH_INTERPOLATION2D_H_
11 #define SRC_INCLUDE_SMASH_INTERPOLATION2D_H_
15 #include "gsl/gsl_spline2d.h"
53 const std::vector<double>& x,
const std::vector<double>& y,
54 const std::vector<double>& z,
86 gsl_interp_accel*
xacc_ =
nullptr;
88 gsl_interp_accel*
yacc_ =
nullptr;
Represent a bicubic spline interpolation.
ExtrapolationType extrapolation_type_
Extrapolation type.
double first_y_
First y value of underlying data.
double last_y_
Last y value of underlying data.
double last_x_
Last x value of underlying data.
double operator()(double xi, double yi) const
Calculate bicubic interpolation for given x and y.
gsl_interp_accel * xacc_
GSL iterator for interpolation lookups in x direction.
~InterpolateData2DSpline()
Destructor.
InterpolateData2DSpline(const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, ExtrapolationType extrapolation_type=ExtrapolationType::None)
Interpolate function f given discrete samples f(x_i, y_i) = z_i.
gsl_spline2d * spline_
GSL spline in 2D.
double first_x_
First x value of underlying data.
gsl_interp_accel * yacc_
GSL iterator for interpolation lookupin y direction.
Collection of useful constants that are known at compile time.
ExtrapolationType
Allows to specify the desired extrapolation type.
@ None
No extrapolation is done.