BYPDF.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::BYPDF
5 
6 \brief Computes corrected PDFs according to the Bodek-Yang model.
7 
8  Concrete implementation of the PDFModelI interface.
9 
10 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
11  University of Liverpool & STFC Rutherford Appleton Laboratory
12 
13 \created September 29, 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 _BODEK_YANG_PDF_H_
21 #define _BODEK_YANG_PDF_H_
22 
24 
25 namespace genie {
26 
27 class BYPDF : public PDFModelI {
28 
29 public:
30 
31  BYPDF();
32  BYPDF(string config);
33  virtual ~BYPDF();
34 
35  //! PDFModelI interface implementation
36  double UpValence (double x, double q2) const;
37  double DownValence (double x, double q2) const;
38  double UpSea (double x, double q2) const;
39  double DownSea (double x, double q2) const;
40  double Strange (double x, double q2) const;
41  double Charm (double x, double q2) const;
42  double Bottom (double x, double q2) const;
43  double Top (double x, double q2) const;
44  double Gluon (double x, double q2) const;
45  PDF_t AllPDFs (double x, double q2) const;
46 
47  //! overload the Algorithm::Configure() methods to load private data
48  //! members from configuration options
49  void Configure(const Registry & config);
50  void Configure(string config);
51 
52 private:
53 
54  void LoadConfig (void);
55  double DeltaDU (double x) const;
56 
57  //! configuration parameters
58 
59  const PDFModelI * fBasePDFModel; ///< base (uncorrected) PDF model
60 
61  double fX0; ///< correction param X0
62  double fX1; ///< correction param X1
63  double fX2; ///< correction param X2
64  double fQ2min; ///< min. Q2 for PDF evaluation
65 };
66 
67 } // genie namespace
68 
69 #endif // _BODEK_YANG_PDF_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
double Bottom(double x, double q2) const
Definition: BYPDF.cxx:68
double DownValence(double x, double q2) const
Definition: BYPDF.cxx:43
void Configure(const Registry &config)
Definition: BYPDF.cxx:153
double fX1
correction param X1
Definition: BYPDF.h:62
double DownSea(double x, double q2) const
Definition: BYPDF.cxx:53
double fX0
correction param X0
Definition: BYPDF.h:61
Pure abstract base class. Defines the PDFModelI interface to be implemented by wrapper classes to exi...
Definition: PDFModelI.h:28
Computes corrected PDFs according to the Bodek-Yang model.
Definition: BYPDF.h:27
void LoadConfig(void)
Definition: BYPDF.cxx:165
double Charm(double x, double q2) const
Definition: BYPDF.cxx:63
double fQ2min
min. Q2 for PDF evaluation
Definition: BYPDF.h:64
PDF_t AllPDFs(double x, double q2) const
Definition: BYPDF.cxx:83
double Top(double x, double q2) const
Definition: BYPDF.cxx:73
static Config * config
Definition: config.cpp:1054
double DeltaDU(double x) const
Definition: BYPDF.cxx:145
A struct to hold PDF set data.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double Gluon(double x, double q2) const
Definition: BYPDF.cxx:78
double fX2
correction param X2
Definition: BYPDF.h:63
const PDFModelI * fBasePDFModel
configuration parameters
Definition: BYPDF.h:59
list x
Definition: train.py:276
double UpValence(double x, double q2) const
PDFModelI interface implementation.
Definition: BYPDF.cxx:38
virtual ~BYPDF()
Definition: BYPDF.cxx:33
double UpSea(double x, double q2) const
Definition: BYPDF.cxx:48
double Strange(double x, double q2) const
Definition: BYPDF.cxx:58