LHAPDF6.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::LHAPDF6
5 
6 \brief LHAPDF6 library interface.
7  Concrete implementation of the PDFModelI interface.
8 
9 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
10  University of Liverpool & STFC Rutherford Appleton Laboratory
11 
12 \created March 20, 2018
13 
14 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _GENIE_LHAPDF6_INTERFACE_H_
20 #define _GENIE_LHAPDF6_INTERFACE_H_
21 
22 #include "Framework/Conventions/GBuild.h"
24 #include <string>
25 using std::string;
26 
27 namespace LHAPDF
28 {
29  class PDF;
30 }
31 
32 namespace genie {
33 
34 class LHAPDF6 : public PDFModelI {
35 
36 public:
37 
38  LHAPDF6();
39  LHAPDF6(string config);
40  virtual ~LHAPDF6();
41 
42  // Implement the PDFModelI interface
43 
44  double UpValence (double x, double Q2) const;
45  double DownValence (double x, double Q2) const;
46  double UpSea (double x, double Q2) const;
47  double DownSea (double x, double Q2) const;
48  double Strange (double x, double Q2) const;
49  double Charm (double x, double Q2) const;
50  double Bottom (double x, double Q2) const;
51  double Top (double x, double Q2) const;
52  double Gluon (double x, double Q2) const;
53  PDF_t AllPDFs (double x, double Q2) const;
54 
55  // Override the default "Configure" implementation
56  // of the Algorithm interface
57 
58  void Configure (const Registry & config);
59  void Configure (string config);
60 
61 private:
62 
63  void LoadConfig (void);
64 
65  string fSetName;
66  int fMemberID;
67 
68 #ifdef __GENIE_LHAPDF6_ENABLED__
69  LHAPDF::PDF * fLHAPDF;
70 #endif
71 
72 };
73 
74 } // genie namespace
75 #endif // _GENIE_LHAPDF6_INTERFACE_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1064
std::string string
Definition: nybbler.cc:12
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
Definition: PDFModelI.h:28
static QChar PDF((ushort) 0x202c)
string fSetName
Definition: LHAPDF6.h:65
static Config * config
Definition: config.cpp:1054
LHAPDF6 library interface. Concrete implementation of the PDFModelI interface.
Definition: LHAPDF6.h:34
Definition: LHAPDF6.h:27
A struct to hold PDF set data.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(string mesg)
Definition: gEvServ.cxx:196
list x
Definition: train.py:276
int fMemberID
Definition: LHAPDF6.h:66