7 #ifndef LHAPDF_LogBicubicInterpolator_H 8 #define LHAPDF_LogBicubicInterpolator_H 10 #include "LHAPDF/Interpolator.h" 47 static void setup(
size_t size,
int update_step=+1,
bool update_on_hit=
true);
90 static void setup(
size_t size,
int update_step=+1,
bool update_on_hit=
true);
114 static Q2Cache& _getCacheQ2(
const KnotArray1F& subgrid,
double q2,
size_t iq2);
static int UPDATE_STEP
Cache access strategy.
Definition: LogBicubicInterpolator.h:85
size_t size()
Get the length of the cache vector.
Definition: LogBicubicInterpolator.h:58
static int UPDATE_STEP
Cache access strategy.
Definition: LogBicubicInterpolator.h:42
static void init()
Initialize a cache on this thread (call with explicit locks to ensure safe initialisation for each th...
double logx
Cached params.
Definition: LogBicubicInterpolator.h:31
double _interpolateXQ2(const KnotArray1F &subgrid, double x, size_t ix, double q2, size_t iq2) const
Implementation of (x,Q2) interpolation.
size_t ilast
Latest-call index.
Definition: LogBicubicInterpolator.h:95
static bool UPDATE_ON_HIT
Cache access strategy.
Definition: LogBicubicInterpolator.h:87
size_t size()
Get the length of the cache vector.
Definition: LogBicubicInterpolator.h:101
static void init()
Initialize a cache on this thread (call with explicit locks to ensure safe initialisation for each th...
Q2Cache & operator[](size_t index)
Access the index'th element of the cache.
Definition: LogBicubicInterpolator.h:104
static size_t SIZE
Number of cache levels.
Definition: LogBicubicInterpolator.h:40
static void setup(size_t size, int update_step=+1, bool update_on_hit=true)
(Re)define cache size and search strategy
double q2
Defining params from call (initialised to unphysical values, so first use will set the cache) ...
Definition: LogBicubicInterpolator.h:69
A multi-level Q2-variable cache for a single subgrid hash.
Definition: LogBicubicInterpolator.h:80
A single set of cached x-variables.
Definition: LogBicubicInterpolator.h:25
size_t ilast
Latest-call index.
Definition: LogBicubicInterpolator.h:52
static XCache & _getCacheX(const KnotArray1F &subgrid, double x, size_t ix)
Get and update the current caching structs for interpolation params.
vector< XCache > caches
List of N cached-value sets.
Definition: LogBicubicInterpolator.h:55
XCache & operator[](size_t index)
Access the index'th element of the cache.
Definition: LogBicubicInterpolator.h:61
Implementation of bicubic interpolation.
Definition: LogBicubicInterpolator.h:18
Namespace for all LHAPDF functions and classes.
Definition: AlphaS.h:14
double x
Defining params from call (initialised to unphysical values, so first use will set the cache) ...
Definition: LogBicubicInterpolator.h:27
The general interface for interpolating between grid points.
Definition: Interpolator.h:21
A single set of cached Q2-variables.
Definition: LogBicubicInterpolator.h:67
static size_t SIZE
Number of cache levels.
Definition: LogBicubicInterpolator.h:83
static void setup(size_t size, int update_step=+1, bool update_on_hit=true)
(Re)define cache size and search strategy
static bool UPDATE_ON_HIT
Cache access strategy.
Definition: LogBicubicInterpolator.h:44
A multi-level x-variable cache for a single subgrid hash.
Definition: LogBicubicInterpolator.h:37
Internal storage class for PDF data point grids.
Definition: KnotArray.h:20
vector< Q2Cache > caches
List of N cached-value sets.
Definition: LogBicubicInterpolator.h:98
double logq2
Cached params.
Definition: LogBicubicInterpolator.h:72