lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF  6.3.0
LHAPDF::Interpolator Class Referenceabstract

The general interface for interpolating between grid points. More...

#include <Interpolator.h>

Inheritance diagram for LHAPDF::Interpolator:
LHAPDF::BicubicInterpolator LHAPDF::BilinearInterpolator LHAPDF::LogBicubicInterpolator LHAPDF::LogBilinearInterpolator

Public Member Functions

virtual ~Interpolator ()
 Destructor to allow inheritance.
 
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 GridPDFpdf () 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)
 

Protected Member Functions

virtual double _interpolateXQ2 (const KnotArray1F &subgrid, double x, size_t ix, double q2, size_t iq2) const =0
 Interpolate a single-point in (x,Q2), given x/Q2 values and subgrid indices. More...
 

Private Attributes

const GridPDF_pdf
 

Detailed Description

The general interface for interpolating between grid points.

Member Function Documentation

◆ _interpolateXQ2()

virtual double LHAPDF::Interpolator::_interpolateXQ2 ( const KnotArray1F subgrid,
double  x,
size_t  ix,
double  q2,
size_t  iq2 
) const
protectedpure virtual

Interpolate a single-point in (x,Q2), given x/Q2 values and subgrid indices.

Todo:
Make an all-PID version of interpolateQ and Q2?

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::LogBicubicInterpolator, LHAPDF::BicubicInterpolator, LHAPDF::BilinearInterpolator, and LHAPDF::LogBilinearInterpolator.

Member Data Documentation

◆ _pdf

const GridPDF* LHAPDF::Interpolator::_pdf
private
Todo:
Implement this NF version, with a cached KnotArrayNF?

The documentation for this class was generated from the following file: