7 #ifndef LHAPDF_Interpolator_H
8 #define LHAPDF_Interpolator_H
10 #include "LHAPDF/Utils.h"
11 #include "LHAPDF/KnotArray.h"
57 void interpolateXQ2(
double x,
double q2, std::vector<double>& ret)
const;
67 std::string getType(){
81 virtual double _interpolateXQ2(
const KnotArray& grid,
double x,
size_t ix,
double q2,
size_t iq2,
int id)
const = 0;
83 virtual void _interpolateXQ2(
const KnotArray& grid,
double x,
size_t ix,
double q2,
size_t iq2, std::vector<double>& ret)
const = 0;
bool hasPDF()
Identify whether this Interpolator has an associated PDF.
Definition: Interpolator.h:38
virtual ~Interpolator()
Destructor to allow inheritance.
Definition: Interpolator.h:25
double interpolateXQ(int id, double x, double q) const
Interpolate a single-point in (x,Q)
Definition: Interpolator.h:50
void bind(const GridPDF *pdf)
Bind to a GridPDF.
Definition: Interpolator.h:32
virtual double _interpolateXQ2(const KnotArray &grid, double x, size_t ix, double q2, size_t iq2, int id) const =0
Interpolate a single-point in (x,Q2), given x/Q2 values and subgrid indices.
A PDF defined via an interpolation grid.
Definition: GridPDF.h:19
void unbind()
Unbind from GridPDF.
Definition: Interpolator.h:35
The general interface for interpolating between grid points.
Definition: Interpolator.h:21
void setType(std::string t)
Definition: Interpolator.h:63
const GridPDF & pdf() const
Get the associated GridPDF.
Definition: Interpolator.h:41
double interpolateXQ2(int id, double x, double q2) const
Interpolate a single-point in (x,Q2)