|
|
|||
File indexing completed on 2026-06-02 08:51:45
0001 #ifndef GPD_GK19_H 0002 #define GPD_GK19_H 0003 0004 /** 0005 * @file GPDGK19.h 0006 * @author Kemal Tezgin 0007 * @date 2019 0008 * @version 1.0 0009 */ 0010 0011 #include <string> 0012 #include <vector> 0013 0014 #include "GPDGK16.h" 0015 0016 namespace PARTONS { 0017 0018 /** 0019 * @class GPDGK19 0020 * 0021 * @brief The module implements GPDs which appear in Goloskokov-Kroll (GK) model in pseudoscalar meson production 0022 * 0023 * This model is defined in the series of references: 0024 * - arxiv:0906.0460 \cite Goloskokov:2009ia ; 0025 * - arxiv:1106.4897 \cite Goloskokov:2011rd ; 0026 * 0027 * Available GPD types: H, E, \tilde{H}, \tilde{E}, H_T and \bar{E}_T 0028 * 0029 * We use the following parameters for GPDs (all GPDs have Regge-like profile function): 0030 * 1) \tilde{H}: Table 1 in arxiv:1901.11380 with \alpha(0) = 0.32 0031 * 2) \tilde{E}: Table 1 in arxiv:1901.11380 0032 * 3) H_T: Table 1 in arxiv:1901.11380 with \alpha(0) = -0.17 0033 * 4) \bar{E}_T: Table 1 in arxiv:1901.11380 0034 * with PDFs (forward-limits) parametrizations ABM: arXiv:1202.2281 and DSSV: arXiv:0904.3821 0035 * 0036 * Parameterization of GPDs H and E as in GPDGK16 0037 */ 0038 0039 class GPDGK19: public GPDGK16 { 0040 0041 public: 0042 0043 static const unsigned int classId; ///< Unique ID to automatically register the class in the registry. 0044 0045 /** 0046 * Constructor. 0047 * See BaseObject::BaseObject and ModuleObject::ModuleObject for more details. 0048 * 0049 * @param className name of child class. 0050 */ 0051 GPDGK19(const std::string &className); 0052 0053 /** 0054 * Destructor. 0055 */ 0056 virtual ~GPDGK19(); 0057 0058 virtual GPDGK19* clone() const; 0059 0060 protected: 0061 0062 /** 0063 * Copy constructor. 0064 */ 0065 GPDGK19(const GPDGK19& other); 0066 0067 virtual void initModule(); 0068 virtual void isModuleWellConfigured(); 0069 0070 virtual PartonDistribution computeHt(); 0071 virtual PartonDistribution computeEt(); 0072 virtual PartonDistribution computeHTrans(); 0073 virtual PartonDistribution computeEbarTrans(); 0074 0075 void calculateHtCoefs(); 0076 void calculateEtCoefs(); 0077 void calculateHTransCoefs(); 0078 void calculateETransCoefs(); 0079 0080 private: 0081 0082 double kHtgluon; ///< Exponent of correlated x-t dependence. 0083 double kHtsea; ///< Exponent of correlated x-t dependence. 0084 double kHtuval; ///< Exponent of correlated x-t dependence. 0085 double kHtdval; ///< Exponent of correlated x-t dependence. 0086 0087 double kEtgluon; ///< Exponent of correlated x-t dependence. 0088 double kEtsea; ///< Exponent of correlated x-t dependence. 0089 double kEtuval; ///< Exponent of correlated x-t dependence. 0090 double kEtdval; ///< Exponent of correlated x-t dependence. 0091 0092 double kHTransgluon; ///< Exponent of correlated x-t dependence. 0093 double kHTranssea; ///< Exponent of correlated x-t dependence. 0094 double kHTransuval; ///< Exponent of correlated x-t dependence. 0095 double kHTransdval; ///< Exponent of correlated x-t dependence. 0096 0097 double kETransgluon; ///< Exponent of correlated x-t dependence. 0098 double kETranssea; ///< Exponent of correlated x-t dependence. 0099 double kETransuval; ///< Exponent of correlated x-t dependence. 0100 double kETransdval; ///< Exponent of correlated x-t dependence. 0101 0102 std::vector<double> Htuval1tab; ///< Htval1(i=0,1,2) for valence u 0103 std::vector<double> Htdval1tab; ///< Htval1(i=0,1,2) for valence d 0104 std::vector<double> Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb 0105 std::vector<double> Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb 0106 0107 std::vector<double> Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u 0108 std::vector<double> Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d 0109 std::vector<double> Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb 0110 std::vector<double> Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb 0111 0112 std::vector<double> HTransuval1tab; ///< HTransval1(i=0,1,2,3,4,5) for valence u 0113 std::vector<double> HTransdval1tab; ///< HTransval1(i=0,1,2,3,4,5) for valence d 0114 std::vector<double> HTransuval1mtab; ///< HTransval1(i=0,1,2,3,4,5) for valence u for -xb 0115 std::vector<double> HTransdval1mtab; ///< HTransval1(i=0,1,2,3,4,5) for valence d for -xb 0116 0117 std::vector<double> ETransuval1tab; ///< ETransval1(i=0,1,2) for valence u 0118 std::vector<double> ETransdval1tab; ///< ETransval1(i=0,1,2) for valence d 0119 std::vector<double> ETransuval1mtab; ///< ETransval1(i=0,1,2) for valence u for -xb 0120 std::vector<double> ETransdval1mtab; ///< ETransval1(i=0,1,2) for valence d for -xb 0121 0122 void calculateHtKas(); 0123 void calculateEtKas(); 0124 void calculateHTransKas(); 0125 void calculateETransKas(); 0126 0127 double ValenceExpansion(double x, double i, double k); 0128 }; 0129 0130 } /* namespace PARTONS */ 0131 0132 #endif /* GPD_GK19_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|