PDFLIB.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::PDFLIB
5 
6 \brief LHAPDF/PDFLIB library interface.
7  Concrete implementation of the PDFModelI interface.
8 
9 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
10  University of Liverpool & STFC Rutherford Appleton Lab
11 
12 \created June 06, 2004
13 
14 \cpright Copyright (c) 2003-2017, GENIE Neutrino MC Generator Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16  or see $GENIE/LICENSE
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _PDFLIB_H_
21 #define _PDFLIB_H_
22 
23 #include "PDF/PDFModelI.h"
24 
25 namespace genie {
26 
27 class PDFLIB : public PDFModelI {
28 
29 public:
30 
31  PDFLIB();
32  PDFLIB(string config);
33  virtual ~PDFLIB();
34 
35  // Implement PDFModelI interface
36 
37  double UpValence (double x, double Q2) const;
38  double DownValence (double x, double Q2) const;
39  double UpSea (double x, double Q2) const;
40  double DownSea (double x, double Q2) const;
41  double Strange (double x, double Q2) const;
42  double Charm (double x, double Q2) const;
43  double Bottom (double x, double Q2) const;
44  double Top (double x, double Q2) const;
45  double Gluon (double x, double Q2) const;
46  PDF_t AllPDFs (double x, double Q2) const;
47 
48  // Override the default "Confugure" implementation
49  // of the Algorithm interface
50 
51  void Configure (const Registry & config);
52  void Configure (string config);
53 
54 private:
55 
56  void Initialize (void) const;
57  void SetPDFSetFromConfig (void) const;
58 };
59 
60 } // genie namespace
61 
62 #endif // _PDFLIB_H_
PDF_t AllPDFs(double x, double Q2) const
Definition: PDFLIB.cxx:197
#include "Numerical/GSFunc.h"
Definition: AlgCmp.h:26
void SetPDFSetFromConfig(void) const
Definition: PDFLIB.cxx:101
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:642
double Bottom(double x, double Q2) const
Definition: PDFLIB.cxx:182
virtual ~PDFLIB()
Definition: PDFLIB.cxx:58
double Charm(double x, double Q2) const
Definition: PDFLIB.cxx:177
Pure abstract base class. Defines the PDFModelI interface to be implemented by any algorithmic class ...
Definition: PDFModelI.h:33
void Configure(const Registry &config)
Configure the algorithm.
Definition: PDFLIB.cxx:247
double Strange(double x, double Q2) const
Definition: PDFLIB.cxx:172
LHAPDF/PDFLIB library interface. Concrete implementation of the PDFModelI interface.
Definition: PDFLIB.h:27
double DownValence(double x, double Q2) const
Definition: PDFLIB.cxx:157
A struct to hold PDF set data.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
double UpSea(double x, double Q2) const
Definition: PDFLIB.cxx:162
double Top(double x, double Q2) const
Definition: PDFLIB.cxx:187
double Gluon(double x, double Q2) const
Definition: PDFLIB.cxx:192
double UpValence(double x, double Q2) const
Definition: PDFLIB.cxx:152
double DownSea(double x, double Q2) const
Definition: PDFLIB.cxx:167
void Initialize(void) const
Definition: PDFLIB.cxx:63