GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <c.andreopoulos \at cern.ch>
11  University of Liverpool
12 
13 \created May 04, 2004
14 
15 \cpright Copyright (c) 2003-2024, 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_
virtual double Charm(double x, double Q2) const =0
virtual double UpValence(double x, double Q2) const =0
virtual ~PDFModelI()
Definition: PDFModelI.cxx:34
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1077
virtual double Bottom(double x, double Q2) const =0
virtual PDF_t AllPDFs(double x, double Q2) const =0
Algorithm abstract base class.
Definition: Algorithm.h:54
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
Definition: PDFModelI.h:28
virtual double DownValence(double x, double Q2) const =0
virtual double UpSea(double x, double Q2) const =0
A struct to hold PDF set data.
virtual double DownSea(double x, double Q2) const =0
virtual double Strange(double x, double Q2) const =0
virtual double Gluon(double x, double Q2) const =0
virtual double Top(double x, double Q2) const =0