4 #include "LHAPDF/LHAPDFConfig.h" 60 #define initPDFSetM initPDFSet 61 #define initPDFSetByNameM initPDFSetByName 62 #define initPDFM initPDF 63 #define initPDFByNameM initPDFByName 64 #define getDescriptionM getDescription 68 #define xfxphotonM xfxphoton 69 #define numberPDFM numberPDF 70 #define alphasPDFM alphasPDF 71 #define getOrderPDFM getOrderPDF 72 #define getOrderAlphaSM getOrderAlphaS 73 #define getQMassM getQMass 74 #define getThresholdM getThreshold 76 #define getLam4M getLam4 77 #define getLam5M getLam5 78 #define getXminM getXmin 79 #define getXmaxM getXmax 80 #define getQ2minM getQ2min 81 #define getQ2maxM getQ2max 92 TBAR= -6, BBAR = -5, CBAR = -4, SBAR = -3, UBAR = -2, DBAR = -1,
94 DOWN = 1, UP = 2, STRANGE = 3, CHARM = 4, BOTTOM = 5, TOP= 6,
102 EVOLVE = 0, LHPDF = 0,
103 INTERPOLATE = 1, LHGRID = 1
144 std::string description;
146 int pdflibNType, pdflibNGroup, pdflibNSet;
149 double lowQ2, highQ2;
153 std::ostringstream os;
154 os <<
"PDF set #" <<
id 156 <<
" file='" << file <<
"'," 157 <<
" description='" << description <<
"'," 158 <<
" x = [" << lowx <<
", " << highx <<
"]," 159 <<
" Q2 = [" << lowQ2 <<
", " << highQ2 <<
"]" 166 inline std::ostream& operator<<(std::ostream& os,
const PDFSetInfo& info) {
206 void initPDFSet(
int nset,
int setid,
int member);
216 void initPDFSet(
const std::string& filename,
int member=0);
220 void initPDFSet(
int nset,
const std::string& filename,
int member=0);
280 double getLam4(
int nset,
int m);
285 double getLam5(
int nset,
int m);
290 double getXmin(
int nset,
int m);
295 double getXmax(
int nset,
int m);
318 std::vector<double>
xfx(
double x,
double Q);
323 std::vector<double>
xfx(
int nset,
double x,
double Q);
330 void xfx(
double x,
double Q,
double* results);
336 void xfx(
int nset,
double x,
double Q,
double* results);
344 double xfx(
double x,
double Q,
int fl);
350 double xfx(
int nset,
double x,
double Q,
int fl);
363 std::vector<double>
xfxp(
double x,
double Q,
double P2,
int ip);
370 std::vector<double>
xfxp(
int nset,
double x,
double Q,
double P2,
int ip);
379 void xfxp(
double x,
double Q,
double P2,
int ip,
double* results);
387 void xfxp(
int nset,
double x,
double Q,
double P2,
int ip,
double* results);
397 double xfxp(
double x,
double Q,
double P2,
int ip,
int fl);
405 double xfxp(
int nset,
double x,
double Q,
double P2,
int ip,
int fl);
418 std::vector<double>
xfxa(
double x,
double Q,
double a);
425 std::vector<double>
xfxa(
int nset,
double x,
double Q,
double a);
434 void xfxa(
double x,
double Q,
double a,
double* results);
442 void xfxa(
int nset,
double x,
double Q,
double a,
double* results);
451 double xfxa(
double x,
double Q,
double a,
int fl);
459 double xfxa(
int nset,
double x,
double Q,
double a,
int fl);
475 std::vector<double>
xfxphoton(
double x,
double Q);
481 std::vector<double>
xfxphoton(
int nset,
double x,
double Q);
492 void xfxphoton(
double x,
double Q,
double* results);
501 void xfxphoton(
int nset,
double x,
double Q,
double* results);
512 double xfxphoton(
double x,
double Q,
int fl);
519 double xfxphoton(
int nset,
double x,
double Q,
int fl);
548 void initPDF(
int nset,
int memset);
575 void initPDFByName(
int nset,
const std::string& filename,
int memset);
std::string getVersion()
Get LHAPDF version string.
double getQMass(int f)
Quark mass used for flavour f.
SetType
Distinction between evolution or interpolation PDF sets. Enum to choose whether evolution (i...
Definition: LHAPDF.h:101
double getQ2min(int m)
Minimum value considered valid for this set, as specified by the set authors.
void initLHAPDF()
Global initialisation.
void setPDFPath(const std::string &path)
Set the LHAPATH variable (the location of the PDF sets directory).
void usePDFMember(int member)
Use member in current PDF set. This operation is computationally cheap.
double getThreshold(int f)
Threshold for flavour f.
std::vector< double > xfxphoton(double x, double Q)
int getMaxNumSets()
Get max allowed number of concurrent sets.
std::vector< double > xfxp(double x, double Q, double P2, int ip)
void setVerbosity(Verbosity noiselevel)
Choose level of noisiness.
double getLam5(int m)
Value of QCD for member m.
PDFSetInfo getPDFSetInfo(const std::string &filename, int memid)
Get a PDF set info object by filename and member number.
std::string toString() const
Render a standard representation of a PDF set's metadata.
Definition: LHAPDF.h:152
double alphasPDF(double Q)
used by the current PDF.
void extrapolate(bool extrapolate=true)
Extrapolate beyond grid edges.
std::string pdfsetsPath()
Get path to LHAPDF PDF sets directory.
void initPDFSet(int setid, int member)
Initialise member in PDF set setid.
Flavour
Enum of flavours which map to LHAPDF integer codes. Useful for improving readability of client code...
Definition: LHAPDF.h:91
void setParameter(const std::string &parm)
Set a steering parameter (direct map to Fortran setlhaparm(parm) function).
std::string prefixPath()
Get path to LHAPDF installation (the "prefix" path).
void initPDFByName(const std::string &name, SetType type, int memset)
Convenient initializer with PDF set name, set type type and member memset.
std::vector< PDFSetInfo > getAllPDFSetInfo()
Get a vector of PDF set info objects for all known sets.
bool hasPhoton()
Does the current set have a photon member?
Verbosity
Level of noisiness.
Definition: LHAPDF.h:107
Namespace containing all the LHAPDF wrapper functions.
Definition: LHAPDF.h:85
int getOrderPDF()
Get order at which the PDF was fitted.
void initPDFSetByName(const std::string &name, SetType type)
The PDF set by file path, see subdir PDFsets of LHAPDF for choices.
void getDescription()
Prints a brief description of the current PDF set to stdout.
double getLam4(int m)
Value of QCD for member m.
int getNf()
Number of flavours used in the current PDF set.
std::string pdfsetsIndexPath()
Get path to LHAPDF PDF sets index file.
void initPDF(int memset)
The choice of PDF member out of one distribution.
double getXmax(int m)
Maximum value considered valid for this set, as specified by the set authors.
double getXmin(int m)
Minimum value considered valid for this set, as specified by the set authors.
int numberPDF()
Number of members available in the current set.
double getQ2max(int m)
Maximum value considered valid for this set, as specified by the set authors.
std::vector< double > xfx(double x, double Q)
std::vector< double > xfxa(double x, double Q, double a)
Structure containing metadata about a PDF set.
Definition: LHAPDF.h:141
int getOrderAlphaS()
Perturbative order of parton evolution and respectively.