PDFModelI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::PDFModelI
5 
6 \brief Pure abstract base class. Defines the PDFModelI interface to be
7  implemented by wrapper classes to existing Parton Density Function
8  libraries (PDFLIB, LHAPDF), or by built-in implementations.
9 
10 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
11  University of Liverpool & STFC Rutherford Appleton Laboratory
12 
13 \created May 04, 2004
14 
15 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _PDF_MODEL_I_H_
21 #define _PDF_MODEL_I_H_
22 
25 
26 namespace genie {
27 
28 class PDFModelI : public Algorithm {
29 
30 public:
31 
32  virtual ~PDFModelI();
33 
34  //-- define PDFModelI interface
35 
36  virtual double UpValence (double x, double Q2) const = 0;
37  virtual double DownValence (double x, double Q2) const = 0;
38  virtual double UpSea (double x, double Q2) const = 0;
39  virtual double DownSea (double x, double Q2) const = 0;
40  virtual double Strange (double x, double Q2) const = 0;
41  virtual double Charm (double x, double Q2) const = 0;
42  virtual double Bottom (double x, double Q2) const = 0;
43  virtual double Top (double x, double Q2) const = 0;
44  virtual double Gluon (double x, double Q2) const = 0;
45  virtual PDF_t AllPDFs (double x, double Q2) const = 0;
46 
47 protected:
48 
49  PDFModelI();
50  PDFModelI(string name);
51  PDFModelI(string name, string config);
52 };
53 
54 } // genie namespace
55 
56 #endif // _PDF_MODEL_I_H_
static QCString name
Definition: declinfo.cpp:673
virtual ~PDFModelI()
Definition: PDFModelI.cxx:34
virtual double UpValence(double x, double Q2) const =0
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
virtual PDF_t AllPDFs(double x, double Q2) const =0
virtual double Gluon(double x, double Q2) const =0
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1064
Algorithm abstract base class.
Definition: Algorithm.h:53
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
Definition: PDFModelI.h:28
static Config * config
Definition: config.cpp:1054
virtual double Top(double x, double Q2) const =0
virtual double UpSea(double x, double Q2) const =0
A struct to hold PDF set data.
virtual double Strange(double x, double Q2) const =0
virtual double DownValence(double x, double Q2) const =0
list x
Definition: train.py:276
virtual double Charm(double x, double Q2) const =0
virtual double Bottom(double x, double Q2) const =0
virtual double DownSea(double x, double Q2) const =0