9 #include <unordered_map>
24 return !line.empty() && line[0] ==
'#';
39 alignas(64) std::vector<double>
x_vec;
44 alignas(64) std::vector<double>
dlogx;
45 alignas(64) std::vector<double>
dlogq;
53 const double &
coeff(
int ix,
int iq2,
int flavorId,
int in)
const;
57 std::unordered_map<PartonFlavor, std::vector<double>>
grids;
62 inline double xf(
int ix,
int iq2,
int flavorId)
const
73 if (-6 <=
id &&
id <= 6)
74 return _lookup[
id + 6];
76 return _lookup[0 + 6];
86 double _ddxBicubic(
size_t ix,
size_t iq2,
int flavorId);
87 void _computePolynomialCoefficients();
88 std::array<int, 29> _lookup;
Definition: AllFlavorsShape.h:14
bool isBlockSeparator(std::string &line)
Definition: AllFlavorsShape.h:16
PartonFlavor
Definition: PartonUtils.h:58
bool isComment(const std::string &line)
Definition: AllFlavorsShape.h:22
void trim(std::string &s)
Definition: StringUtils.h:21
int findPidInPids(int pid, const std::vector< int > &pids)
Definition: AllFlavorsShape.h:30
std::unordered_map< PartonFlavor, std::vector< double > > grids
Definition: AllFlavorsShape.h:57
std::vector< int > _pids
Definition: AllFlavorsShape.h:83
size_t n_flavors
Definition: AllFlavorsShape.h:43
std::vector< double > dlogx
Definition: AllFlavorsShape.h:44
int get_pid(int id) const
Definition: AllFlavorsShape.h:68
std::vector< double > coefficients_flat
Definition: AllFlavorsShape.h:46
size_t stride_iq2
Definition: AllFlavorsShape.h:50
std::vector< double > grids_flat
Definition: AllFlavorsShape.h:60
void initializeBicubicCoeficient()
const double & coeff(int ix, int iq2, int flavorId, int in) const
size_t n_mu2s
Definition: AllFlavorsShape.h:42
size_t n_xs
Definition: AllFlavorsShape.h:41
std::vector< double > log_mu2_vec
Definition: AllFlavorsShape.h:38
std::vector< int > _shape
Definition: AllFlavorsShape.h:52
std::vector< double > dlogq
Definition: AllFlavorsShape.h:45
std::vector< double > mu2_vec
Definition: AllFlavorsShape.h:40
std::vector< double > log_x_vec
Definition: AllFlavorsShape.h:37
std::vector< double > x_vec
Definition: AllFlavorsShape.h:39
DefaultAllFlavorShape()
Definition: AllFlavorsShape.h:31
size_t stride_ix
Definition: AllFlavorsShape.h:49
double xf(int ix, int iq2, int flavorId) const
Definition: AllFlavorsShape.h:62
double getGridFromMap(PartonFlavor flavor, int ix, int iq2) const
Definition: AllFlavorsShape.h:92
DefaultAllFlavorTMDShape()=default
std::vector< double > log_kt2_vec
Definition: AllFlavorsShape.h:94
std::vector< double > kt2_vec
Definition: AllFlavorsShape.h:95