LHAPDF
6.5.4
|
The general interface for interpolating between grid points. More...
#include <Interpolator.h>
Public Member Functions | |
virtual | ~Interpolator () |
Destructor to allow inheritance. | |
std::string | type () const |
void | setType (std::string t) |
Set the interpolation type. | |
Binding to a PDF object | |
void | bind (const GridPDF *pdf) |
Bind to a GridPDF. | |
void | unbind () |
Unbind from GridPDF. | |
bool | hasPDF () |
Identify whether this Interpolator has an associated PDF. | |
const GridPDF & | pdf () const |
Get the associated GridPDF. | |
Interpolation methods | |
double | interpolateXQ (int id, double x, double q) const |
Interpolate a single-point in (x,Q) | |
double | interpolateXQ2 (int id, double x, double q2) const |
Interpolate a single-point in (x,Q2) | |
void | interpolateXQ2 (double x, double q2, std::vector< double > &ret) const |
Protected Member Functions | |
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. More... | |
virtual void | _interpolateXQ2 (const KnotArray &grid, double x, size_t ix, double q2, size_t iq2, std::vector< double > &ret) const =0 |
Private Attributes | |
const GridPDF * | _pdf |
std::string | _type |
The general interface for interpolating between grid points.
|
protectedpure virtual |
Interpolate a single-point in (x,Q2), given x/Q2 values and subgrid indices.
The key function to be overridden in derived classes: the subgrid and x/Q2 index lookup (and their caching) are done centrally in the Interpolator base class so do not need to be re-implemented in each flavour of interpolator.
Implemented in LHAPDF::LogBilinearInterpolator, LHAPDF::LogBicubicInterpolator, LHAPDF::BilinearInterpolator, and LHAPDF::BicubicInterpolator.
|
inline |