GENIEGenerator
Loading...
Searching...
No Matches
Interpolator2D.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::Interpolator2D
5
6\brief A 2D interpolator using the GSL spline type
7 If GSL version is not sufficient, does an inefficient version
8 using TGraph2D.
9
10\author Steve Dennis <s.r.dennis \at liverpool.ac.uk>
11 University of Liverpool
12
13\created November, 2017
14
15\cpright Copyright (c) 2003-2025, The GENIE Collaboration
16 For the full text of the license visit http://copyright.genie-mc.org
17*/
18//____________________________________________________________________________
19
20#include <cstdlib>
21
22#ifndef GENIE_INTERPOLATOR2D_H_
23#define GENIE_INTERPOLATOR2D_H_
24
25namespace genie {
26
28{
29 public:
30 Interpolator2D(const size_t & size_x, const double * grid_x,
31 const size_t & size_y, const double * grid_y,
32 const double * knots);
34
35 double Eval (const double & x, const double & y) const;
36 double DerivX (const double & x, const double & y) const;
37 double DerivY (const double & x, const double & y) const;
38 double DerivXX (const double & x, const double & y) const;
39 double DerivXY (const double & x, const double & y) const;
40 double DerivYY (const double & x, const double & y) const;
41
42 private:
43 // Done using PIMPL to avoid GSL vs ROOT mess in libraries
44 // Struct type declarations will be done in object code
45 struct spline2d_container ; // stores type gsl_spline2d
46 struct interp_accel_container; // stores type gsl_interp_accel
47 // And these are our actual members
51};
52
53} // namespace genie
54
55#endif //GENIE_INTERPOLATOR2D_H_
double DerivXY(const double &x, const double &y) const
double DerivY(const double &x, const double &y) const
double DerivYY(const double &x, const double &y) const
spline2d_container * fSpline
double Eval(const double &x, const double &y) const
interp_accel_container * fAcc_x
Interpolator2D(const size_t &size_x, const double *grid_x, const size_t &size_y, const double *grid_y, const double *knots)
interp_accel_container * fAcc_y
double DerivX(const double &x, const double &y) const
double DerivXX(const double &x, const double &y) const
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25