lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF  6.5.4
LHAPDF Namespace Reference

Namespace for all LHAPDF functions and classes. More...

Classes

class  AlphaS
 Calculator interface for computing alpha_s(Q2) in various ways. More...
 
class  AlphaS_Analytic
 Calculate alpha_s(Q2) by an analytic approximation. More...
 
class  AlphaS_Ipol
 
class  AlphaS_ODE
 Solve the differential equation in alphaS using an implementation of RK4. More...
 
class  BicubicInterpolator
 Implementation of bicubic interpolation. More...
 
class  BilinearInterpolator
 Implementation of bilinear interpolation. More...
 
class  Config
 Class for PDF set metadata and manipulation. More...
 
class  ContinuationExtrapolator
 
class  ErrExtrapolator
 Extrapolates using the closest point on the Grid. More...
 
class  Exception
 Generic unspecialised LHAPDF runtime error. More...
 
class  GridError
 Error for general PDF grid problems. More...
 
class  RangeError
 Error to be thrown when out of the valid range of a PDF. More...
 
class  LogicError
 Error for places where it should not have been possible to get to! More...
 
class  MetadataError
 Error for unfound or broken metadata entries. More...
 
class  ReadError
 Error for file reading errors. More...
 
class  FlavorError
 Error for requests for unsupported/invalid flavour PIDs. More...
 
class  FactoryError
 Error to be raised by object factories given invalid requests. More...
 
class  IndexError
 Error to be raised when a LHAPDF ID indexing fails. More...
 
class  AlphaSError
 Error for general AlphaS computation problems. More...
 
class  VersionError
 Error to be raised when a newer LHAPDF version is needed. More...
 
class  UserError
 Problem exists between keyboard and chair. More...
 
class  NotImplementedError
 This feature doesn't exist yet. More...
 
class  Extrapolator
 The general interface for extrapolating beyond grid boundaries. More...
 
class  File
 MPI-safe file I/O interface. More...
 
class  GridPDF
 A PDF defined via an interpolation grid. More...
 
class  Info
 Metadata base class for PDFs, PDF sets, or global configuration. More...
 
class  Interpolator
 The general interface for interpolating between grid points. More...
 
class  KnotArray
 Internal storage class for PDF data point grids. More...
 
class  AlphaSArray
 Internal storage class for alpha_s interpolation grids. More...
 
class  LogBicubicInterpolator
 Implementation of bicubic interpolation. More...
 
class  LogBilinearInterpolator
 Implementation of bilinear interpolation. More...
 
class  NearestPointExtrapolator
 Extrapolates using the closest point on the Grid. More...
 
class  PDF
 PDF is the general interface for access to parton density information. More...
 
class  PDFInfo
 Metadata class for PDF members. More...
 
struct  PDFUncertainty
 Structure for storage of uncertainty info calculated over a PDF error set. More...
 
struct  PDFErrInfo
 Structure encoding the structure of the PDF error-set. More...
 
class  PDFSet
 Class for PDF-set metadata and manipulation. More...
 
struct  bad_lexical_cast
 When lexical_cast goes bad. More...
 

Functions

int verbosity ()
 
void setVerbosity (int v)
 
PDFmkPDF (const std::string &setname, size_t member)
 
PDFmkPDF (int lhaid)
 
PDFmkPDF (const std::string &setname_nmem)
 
PDFSetgetPDFSet (const std::string &setname)
 
void mkPDFs (const std::string &setname, std::vector< PDF * > &pdfs)
 Get all PDFs in a named set (return by filling the supplied vector).
 
std::vector< PDF * > mkPDFs (const std::string &setname)
 Get all PDFs in a named set (return by a new vector).
 
template<typename PTR >
void mkPDFs (const std::string &setname, std::vector< PTR > &pdfs)
 
InfogetConfig ()
 
PDFInfomkPDFInfo (const std::string &setname, size_t member)
 
PDFInfomkPDFInfo (int lhaid)
 
PDFInfomkPDFInfo (const std::string &setname_nmem)
 
InterpolatormkInterpolator (const std::string &name)
 
ExtrapolatormkExtrapolator (const std::string &name)
 
AlphaSmkAlphaS (const Info &info)
 Make an AlphaS object from an Info object. More...
 
AlphaSmkAlphaS (const std::string &setname, size_t member)
 Make an AlphaS object for the specified PDF. More...
 
AlphaSmkAlphaS (int lhaid)
 Make an AlphaS object for the specified PDF. More...
 
AlphaSmkAlphaS (const std::string &setname_nmem)
 
AlphaSmkBareAlphaS (const std::string &type)
 Make an AlphaS object of the requested type without a PDF reference. More...
 
void flushFileCache ()
 Global function to flush the MPI-safe file cache.
 
std::map< int, std::string > & getPDFIndex ()
 Get the singleton LHAPDF set ID -> PDF index map.
 
std::pair< std::string, int > lookupPDF (int lhaid)
 
std::pair< std::string, int > lookupPDF (const std::string &pdfstr)
 Decode a single PDF member ID string into a setname,memid pair. More...
 
int lookupLHAPDFID (const std::string &setname, int nmem)
 
int lookupLHAPDFID (const std::string &setname_nmem)
 Look up the member's LHAPDF index from a setname/member string.
 
double weightxQ2 (int id, double x, double Q2, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxQ2 (int id, double x, double Q2, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
double weightxQ (int id, double x, double Q, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxQ (int id, double x, double Q, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
double weightxxQ2 (int id1, int id2, double x1, double x2, double Q2, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxxQ2 (int id1, int id2, double x1, double x2, double Q2, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
double weightxxQ (int id1, int id2, double x1, double x2, double Q, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxxQ (int id1, int id2, double x1, double x2, double Q, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
std::string version ()
 Get the LHAPDF library version code (as a string)
 
Search path handling functions
std::vector< std::string > paths ()
 Get the ordered list of search paths, from $LHAPDF_DATA_PATH and the install location. More...
 
void setPaths (const std::string &pathstr)
 Set the search paths list as a colon-separated string.
 
void setPaths (std::vector< string > paths)
 Set the search paths list.
 
void pathsPrepend (const std::string &p)
 Prepend to the search paths list.
 
void pathsAppend (const std::string &p)
 Append to the search paths list.
 
std::string findFile (const std::string &target)
 
std::vector< std::string > findFiles (const std::string &target)
 Return all locations in which a file is found.
 
PDF-specific path functions
std::string pdfmempath (const std::string &setname, int member)
 Build the form of a PDF member-data file path relative to the search dir.
 
std::string findpdfmempath (const std::string &setname, int member)
 Find a PDF member-data file path in the search paths.
 
std::string pdfsetinfopath (const std::string &setname)
 Build the form of a PDF info file path relative to the search dir.
 
std::string findpdfsetinfopath (const std::string &setname)
 Find a PDF info file path in the search paths. More...
 
const std::vector< std::string > & availablePDFSets ()
 Get the names of all available PDF sets in the search path. More...
 
String handling utility functions
template<typename T , typename U >
lexical_cast (const U &in)
 Convert between types via stringstream.
 
template<typename T >
std::string to_str (const T &val)
 Make a string representation of val.
 
template<typename T >
std::string to_str (const std::vector< T > &vec)
 Make a string representation of a vector vec.
 
std::string to_str_zeropad (int val, size_t nchars=4)
 Format an integer val as a zero-padded string of length nchars.
 
std::string join (const std::vector< std::string > &svec, const std::string &sep)
 Concatenate strings with separator strings between each element.
 
std::vector< std::string > split (const std::string &s, const std::string &sep)
 Split a string by a given separator.
 
bool contains (const std::string &s, const std::string &sub)
 Does a string s contain the sub substring?
 
bool startswith (const std::string &s, const std::string &sub)
 Does a string s start with the sub substring?
 
bool endswith (const std::string &s, const std::string &sub)
 Does a string s end with the sub substring?
 
size_t countchar (const std::string &s, const char c)
 How many times does a string s contain the character c?
 
std::string trim (const std::string &s)
 Strip leading and trailing spaces (not in-place)
 
std::string to_lower (const std::string &s)
 Convert a string to lower-case (not in-place)
 
std::string to_upper (const std::string &s)
 Convert a string to upper-case (not in-place)
 
Filesystem utils
bool path_exists (const std::string &p, int mode=0)
 Check if a path p (either file or dir) exists.
 
bool file_exists (const std::string &p, int mode=0)
 Check if a file p exists.
 
bool dir_exists (const std::string &p, int mode=0)
 Check if a dir p exists.
 
std::string operator/ (const std::string &a, const std::string &b)
 Operator for joining strings a and b with filesystem separators.
 
std::string basename (const std::string &p)
 Get the basename (i.e. terminal file name) from a path p.
 
std::string dirname (const std::string &p)
 Get the dirname (i.e. path to the penultimate directory) from a path p.
 
std::string file_stem (const std::string &f)
 Get the stem (i.e. part without a file extension) from a filename f.
 
std::string file_extn (const std::string &f)
 Get the file extension from a filename f.
 
Math functions
Todo:
Add an abspath(p) function
template<typename N >
sqr (const N &x)
 Convenience function for squaring (of any type)
 
template<typename N >
int sgn (N val)
 Get the sign of a number.
 
int in_range (double x, double low, double high)
 Check if a number is in a range (closed-open)
 
int in_closed_range (double x, double low, double high)
 Check if a number is in a range (closed-closed)
 
int in_open_range (double x, double low, double high)
 Check if a number is in a range (open-open)
 
double norm_quantile (double p)
 Quantiles of the standard normal probability distribution function. More...
 
double chisquared_quantile (double p, double ndf)
 Quantiles of the chi-squared probability distribution function.
 
Container utils
template<typename T >
bool contains (const std::vector< T > &container, const T &item)
 Does the vector<T> container contain item?
 
template<typename K , typename T >
bool has_key (const std::map< K, T > &container, const K &key)
 Does the map<K,T> container have a key K key?
 

Variables

const double CL1SIGMA = 100*erf(1/sqrt(2))
 CL percentage for a Gaussian 1-sigma.
 

Detailed Description

Namespace for all LHAPDF functions and classes.