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;
84 virtual double _interpolateXQ2(
const KnotArray& grid,
double x, size_t ix,
double q2, size_t iq2,
int id)
const = 0;
86 virtual void _interpolateXQ2(
const KnotArray& grid,
double x, size_t ix,
double q2, size_t iq2, std::vector<
double>& ret)
const = 0;
A PDF defined via an interpolation grid.
Definition GridPDF.h:19
The general interface for interpolating between grid points.
Definition Interpolator.h:21
double interpolateXQ2(int id, double x, double q2) const
Interpolate a single-point in (x,Q2)
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.
void setType(std::string t)
Set the interpolation type.
Definition Interpolator.h:71
std::string type() const
Definition Interpolator.h:66
void unbind()
Unbind from GridPDF.
Definition Interpolator.h:35
bool hasPDF()
Identify whether this Interpolator has an associated PDF.
Definition Interpolator.h:38
void bind(const GridPDF *pdf)
Bind to a GridPDF.
Definition Interpolator.h:32
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
const GridPDF & pdf() const
Get the associated GridPDF.
Definition Interpolator.h:41
Namespace for all LHAPDF functions and classes.
Definition AlphaS.h:14