File indexing completed on 2026-06-02 08:51:45
0001 #ifndef GPD_GK11_H
0002 #define GPD_GK11_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <ElementaryUtils/parameters/Parameters.h>
0013 #include <string>
0014 #include <vector>
0015
0016 #include "GPDModule.h"
0017
0018
0019
0020
0021
0022 namespace PARTONS {
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044 class GPDGK11: public GPDModule {
0045 public:
0046
0047 static const unsigned int classId;
0048
0049
0050
0051
0052
0053
0054
0055 GPDGK11(const std::string &className);
0056
0057
0058
0059
0060 virtual ~GPDGK11();
0061
0062 virtual GPDGK11* clone() const;
0063
0064 virtual void configure(const ElemUtils::Parameters ¶meters);
0065
0066 virtual std::string toString() const;
0067
0068
0069
0070 double getB0() const;
0071 double getC1() const;
0072 double getC2() const;
0073 double getC3() const;
0074 double getC4() const;
0075 double getC5() const;
0076 double getC6() const;
0077 double getC7() const;
0078 double getC8() const;
0079 const std::vector<double>& getEdval1mtab() const;
0080 const std::vector<double>& getEdval1tab() const;
0081 const std::vector<double>& getEi1tab() const;
0082 const std::vector<double>& getEs1tab() const;
0083 const std::vector<double>& getEtdval1mtab() const;
0084 const std::vector<double>& getEtdval1tab() const;
0085 const std::vector<double>& getEtuval1mtab() const;
0086 const std::vector<double>& getEtuval1tab() const;
0087 const std::vector<double>& getEuval1mtab() const;
0088 const std::vector<double>& getEuval1tab() const;
0089 double getEdValMx() const;
0090 double getEtdValMx() const;
0091 double getEtuValMx() const;
0092 double getEuValMx() const;
0093 double getHdValMx() const;
0094 double getHtdValMx() const;
0095 double getHtuValMx() const;
0096 double getHuValMx() const;
0097 double getL() const;
0098 const std::vector<double>& getHdval1mtab() const;
0099 const std::vector<double>& getHdval1tab() const;
0100 const std::vector<double>& getHi1tab() const;
0101 const std::vector<double>& getHs1tab() const;
0102 const std::vector<double>& getHtdval1mtab() const;
0103 const std::vector<double>& getHtdval1tab() const;
0104 const std::vector<double>& getHti1tab() const;
0105 const std::vector<double>& getHtuval1mtab() const;
0106 const std::vector<double>& getHtuval1tab() const;
0107 const std::vector<double>& getHuval1mtab() const;
0108 const std::vector<double>& getHuval1tab() const;
0109 double getKappaS() const;
0110 double getEdval() const;
0111 double getEgluon() const;
0112 double getEsea() const;
0113 double getEtdval() const;
0114 double getEtgluon() const;
0115 double getEtsea() const;
0116 double getEtuval() const;
0117 double getEuval() const;
0118 double getHdval() const;
0119 double getHgluon() const;
0120 double getHsea() const;
0121 double getHtdval() const;
0122 double getHtgluon() const;
0123 double getHtsea() const;
0124 double getHtuval() const;
0125 double getHuval() const;
0126
0127 protected:
0128
0129
0130
0131
0132
0133
0134
0135 GPDGK11(const GPDGK11& other);
0136
0137 virtual void isModuleWellConfigured();
0138 virtual void initModule();
0139
0140
0141
0142 virtual PartonDistribution computeH();
0143 virtual PartonDistribution computeE();
0144 virtual PartonDistribution computeHt();
0145 virtual PartonDistribution computeEt();
0146
0147
0148
0149
0150
0151 void calculateHCoefs();
0152 void calculateECoefs();
0153 void calculateHtCoefs();
0154 void calculateEtCoefs();
0155
0156 double c1, c2, c3, c4, c5, c6, c7, c8;
0157 double b0;
0158 double fL;
0159
0160 std::vector<double> Hi1tab;
0161
0162 private:
0163
0164 double kappa_s;
0165
0166 double fHuValMx;
0167 double fHdValMx;
0168 double fEuValMx;
0169 double fEdValMx;
0170 double fHtuValMx;
0171 double fHtdValMx;
0172 double fEtuValMx;
0173 double fEtdValMx;
0174
0175 double kHgluon;
0176 double kHsea;
0177 double kHuval;
0178 double kHdval;
0179
0180 double kEgluon;
0181 double kEsea;
0182 double kEuval;
0183 double kEdval;
0184
0185 double kHtgluon;
0186 double kHtsea;
0187 double kHtuval;
0188 double kHtdval;
0189
0190 double kEtgluon;
0191 double kEtsea;
0192 double kEtuval;
0193 double kEtdval;
0194
0195 std::vector<double> Huval1tab;
0196 std::vector<double> Hdval1tab;
0197 std::vector<double> Huval1mtab;
0198 std::vector<double> Hdval1mtab;
0199 std::vector<double> Hs1tab;
0200
0201 std::vector<double> Euval1tab;
0202 std::vector<double> Edval1tab;
0203 std::vector<double> Euval1mtab;
0204 std::vector<double> Edval1mtab;
0205 std::vector<double> Es1tab;
0206 std::vector<double> Ei1tab;
0207
0208 std::vector<double> Htuval1tab;
0209 std::vector<double> Htdval1tab;
0210 std::vector<double> Htuval1mtab;
0211 std::vector<double> Htdval1mtab;
0212 std::vector<double> Hti1tab;
0213
0214 std::vector<double> Etuval1tab;
0215 std::vector<double> Etdval1tab;
0216 std::vector<double> Etuval1mtab;
0217 std::vector<double> Etdval1mtab;
0218
0219 void calculateHKas();
0220 void calculateEKas();
0221 void calculateHtKas();
0222 void calculateEtKas();
0223
0224 double Et_pole(double x);
0225
0226 double Hi1(double x, double i, double k);
0227 double Hs1(double x, double i, double k);
0228 double Hval1(double x, double i, double k);
0229 double Ei1(double x, double i, double k);
0230 double Es1(double x, double i, double k);
0231 double Eval1(double x, double i, double k);
0232 double Hti1(double x, double i, double k);
0233 double Htval1(double x, double i, double k);
0234 double Etval1(double x, double i, double k);
0235
0236 double Hi1_alt(double x, double i, double k);
0237 double Hs1_alt(double x, double i, double k);
0238 double Hval1_alt(double x, double i, double k);
0239 double Ei1_alt(double x, double i, double k);
0240 double Es1_alt(double x, double i, double k);
0241 double Eval1_alt(double x, double i, double k);
0242 double Hti1_alt(double x, double i, double k);
0243 double Htval1_alt(double x, double i, double k);
0244 double Etval1_alt(double x, double i, double k);
0245
0246 };
0247
0248 }
0249
0250 #endif