Public Member Functions |
|
| LHAPDF () |
| The default constructor.
|
| LHAPDF (const LHAPDF &) |
| The copy constructor.
|
|
virtual bool | canHandleParticle (tcPDPtr particle) const |
| Return true if this PDF can handle the extraction of partons from the given particle.
|
virtual cPDVector | partons (tcPDPtr particle) const |
| Return the partons which this PDF may extract from the given particle.
|
virtual double | xfx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
| The density.
|
virtual double | xfvl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
| The valence density.
|
virtual double | xfvx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
| The valence density.
|
virtual double | xfsx (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double x, double eps=0.0, Energy2 particleScale=ZERO) const |
| The sea density.
|
|
PType | ptype () const |
| The particle type.
|
const string & | PDFName () const |
| The name if the PDF set to be used.
|
int | member () const |
| The chosen member of the selected PDF set.
|
int | maxFlav () const |
| The maximum number of flavours for which non-zero densities are reported.
|
|
void | persistentOutput (PersistentOStream &os) const |
| Function used to write out object persistently.
|
void | persistentInput (PersistentIStream &is, int version) |
| Function used to read in object persistently.
|
tcRemHPtr | remnantHandler () const |
| Pointer to the remnant handler to handle remnant when extracting partons according to these densities.
|
| PDFBase () |
| Default constructor.
|
| PDFBase (const PDFBase &) |
| Copy-constructor.
|
virtual | ~PDFBase () |
| Destructor.
|
virtual bool | canHandle (tcPDPtr particle) const |
| Return true if canHandleParticle() and if the corresponding method for remnantHandler() returns true for the given particle.
|
virtual bool | hasPoleIn1 (tcPDPtr particle, tcPDPtr parton) const |
| Return true if this PDF has a pole at $x=1$ for the given particle and parton.
|
virtual double | xfl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
| The density.
|
virtual double | xfsl (tcPDPtr particle, tcPDPtr parton, Energy2 partonScale, double l, Energy2 particleScale=ZERO) const |
| The sea density.
|
virtual double | flattenL (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double z, double &jacobian) const |
| Generate a momentum fraction.
|
virtual double | flattenScale (tcPDPtr particle, tcPDPtr parton, const PDFCuts &cut, double l, double z, double &jacobian) const |
| Generate scale (as a fraction of the maximum scale).
|
Private Attributes |
PType | thePType |
| The particle type.
|
string | thePDFName |
| The name if the PDF set to be used.
|
int | theMember |
| The chosen member of the selected PDF set.
|
int | thePhotonOption |
| If this is a photon PDF, this describes the option for how to treat the anomalous component.
|
bool | enablePartonicGamma |
| If this PDF allows partonic photons inside a hadron, enable this.
|
int | theVerboseLevel |
| The verbosity of the output from the LHAPDF library.
|
int | theMaxFlav |
| The maximum number of flavours for which non-zero densities are reported.
|
int | nset |
| The LHAPDF nset number (minus one) to be used by this object.
|
Energy2 | lastQ2 |
| Save the last value used to avoid recalculation.
|
double | lastX |
| Save the last value used to avoid recalculation.
|
Energy2 | lastP2 |
| Save the last value used for off-shell photon to avoid recalculation.
|
vector< double > | lastXF |
| Save the last function values returned from the LHAPDF library.
|
double | xMin |
| The minimum -value for the current PDF set.
|
double | xMax |
| The maximum -value for the current PDF set.
|
Energy2 | Q2Min |
| The minimum -value for the current PDF set.
|
Energy2 | Q2Max |
| The maximum -value for the current PDF set.
|
Internal helper functions. |
bool | indexLine (istream &is, int &set, int &mem, string &file, int &pdftyp, int &pdfgup, int &pdfsup, double &xmin, double &xmax, double &q2min, double &q2max) const |
| Read a line from the index file.
|
void | initpdfsetm () const |
| Call the Fortran InitPDFSetM function.
|
void | initpdfm () const |
| Call the Fortran InitPDFSetM function.
|
void | lastReset () const |
| Reset the saved values from the last call to xfx(), etc.
|
void | setnset () const |
| Acquire a new nset number.
|
int | getMaxMember () const |
| Retrieve the number of members in the chosen PDF.
|
int | getMaxFlav () const |
| Get the maximum number of flavours available in the chosen PDF.
|
void | checkInit () const |
| Initialize the LHAPDF library for the chosen PDF set if it has not been done before.
|
void | checkUpdate (double x, Energy2 Q2, Energy2 P2) const |
| Retrieve new PDF values for the given parameters if they were changed since the last call.
|
void | setMaxNSet (int) |
| Set the maximum number of simultaneous pdfs that can be used in LHAPDF.
|
int | getMaxNSet () const |
| Get the maximum number of simultaneous pdfs that can be used in LHAPDF.
|
void | setMinMax () |
| Deduce the min/max values of and for the selected set.
|
void | setPDFNumber (int n) |
| Used by the interface to select a set and member according to a number.
|
int | getPDFNumber () const |
| Used by the interface to select a get the index number of the currently chosen set and member.
|
void | setPDFLIBNumbers (int group, int num) |
| Used by the interface to select a set and member according to the old PDFLIB numbers.
|
string | setPDFLIBNumbers (string) |
| Used by the interface to select a set and member according to the old PDFLIB numbers.
|
pair< int, int > | getPDFLIBNumbers () const |
| Used by the interface to select a get the old PDFLIB numbers of the currently chosen set and member.
|
void | setPDFName (string name) |
| Used by the interface to select a set according to a file name.
|
void | setPDFMember (int n) |
| Used by the interface to select a member in the current set.
|
string | doTest (string input) |
| Interface for simple tests.
|
static std::string | getIndexPath () |
| Try to determine the path to where the LHAPDF index file is located.
|
static bool | openLHAIndex (ifstream &is) |
| Try to find a LHAPDF index file, open it in the given file stream.
|
The LHAPDF class inherits from PDFBase and implements an interface to the LHAPDF library of parton density function parameterizations.
This class is available even if LHAPDF was not properly installed when ThePEG was installed, but will then produce an error in the initialization.
Note that the valence densities from the xfvx() and xfvl() function will only work properly for nucleons. All other particles will have zero valence densities.
- See also:
- The interfaces defined for LHAPDF.
Definition at line 33 of file LHAPDF.h.