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