Commit 4e7b28c4 authored by Pawel Sznajder's avatar Pawel Sznajder
Browse files

add GK GPD model for par used in COMPASS pi0 paper (WIP)

parent 94896f30
#ifndef GPD_GK19_COMPASS_H
#define GPD_GK19_COMPASS_H
/**
* @file GPDGK19COMPASS.h
* @author Kemal Tezgin
* @date 2019
* @version 1.0
*/
#include <string>
#include <vector>
#include "GPDGK16.h"
namespace PARTONS {
/**
* @class GPDGK19COMPASS
*
* @brief TODO
*
* TODO
*/
class GPDGK19COMPASS: public GPDGK16 {
public:
static const unsigned int classId; ///< Unique ID to automatically register the class in the registry.
/**
* Constructor.
* See BaseObject::BaseObject and ModuleObject::ModuleObject for more details.
*
* @param className name of child class.
*/
GPDGK19COMPASS(const std::string &className);
/**
* Destructor.
*/
virtual ~GPDGK19COMPASS();
virtual GPDGK19COMPASS* clone() const;
protected:
/**
* Copy constructor.
*/
GPDGK19COMPASS(const GPDGK19COMPASS& other);
virtual void initModule();
virtual void isModuleWellConfigured();
virtual PartonDistribution computeHt();
virtual PartonDistribution computeEt();
virtual PartonDistribution computeHTrans();
virtual PartonDistribution computeEbarTrans();
void calculateHtCoefs();
void calculateEtCoefs();
void calculateHTransCoefs();
void calculateETransCoefs();
private:
double kHtgluon; ///< Exponent of correlated x-t dependence.
double kHtsea; ///< Exponent of correlated x-t dependence.
double kHtuval; ///< Exponent of correlated x-t dependence.
double kHtdval; ///< Exponent of correlated x-t dependence.
double kEtgluon; ///< Exponent of correlated x-t dependence.
double kEtsea; ///< Exponent of correlated x-t dependence.
double kEtuval; ///< Exponent of correlated x-t dependence.
double kEtdval; ///< Exponent of correlated x-t dependence.
double kHTransgluon; ///< Exponent of correlated x-t dependence.
double kHTranssea; ///< Exponent of correlated x-t dependence.
double kHTransuval; ///< Exponent of correlated x-t dependence.
double kHTransdval; ///< Exponent of correlated x-t dependence.
double kETransgluon; ///< Exponent of correlated x-t dependence.
double kETranssea; ///< Exponent of correlated x-t dependence.
double kETransuval; ///< Exponent of correlated x-t dependence.
double kETransdval; ///< Exponent of correlated x-t dependence.
std::vector<double> Htuval1tab; ///< Htval1(i=0,1,2) for valence u
std::vector<double> Htdval1tab; ///< Htval1(i=0,1,2) for valence d
std::vector<double> Htuval1mtab; ///< Htval1(i=0,1,2) for valence u for -xb
std::vector<double> Htdval1mtab; ///< Htval1(i=0,1,2) for valence d for -xb
std::vector<double> Etuval1tab; ///< Etval1(i=0,1,2,3) for valence u
std::vector<double> Etdval1tab; ///< Etval1(i=0,1,2,3) for valence d
std::vector<double> Etuval1mtab; ///< Etval1(i=0,1,2,3) for valence u for -xb
std::vector<double> Etdval1mtab; ///< Etval1(i=0,1,2,3) for valence d for -xb
std::vector<double> HTransuval1tab; ///< HTransval1(i=0,1,2,3,4,5) for valence u
std::vector<double> HTransdval1tab; ///< HTransval1(i=0,1,2,3,4,5) for valence d
std::vector<double> HTransuval1mtab; ///< HTransval1(i=0,1,2,3,4,5) for valence u for -xb
std::vector<double> HTransdval1mtab; ///< HTransval1(i=0,1,2,3,4,5) for valence d for -xb
std::vector<double> ETransuval1tab; ///< ETransval1(i=0,1,2) for valence u
std::vector<double> ETransdval1tab; ///< ETransval1(i=0,1,2) for valence d
std::vector<double> ETransuval1mtab; ///< ETransval1(i=0,1,2) for valence u for -xb
std::vector<double> ETransdval1mtab; ///< ETransval1(i=0,1,2) for valence d for -xb
void calculateHtKas();
void calculateEtKas();
void calculateHTransKas();
void calculateETransKas();
double ValenceExpansion(double x, double i, double k);
};
} /* namespace PARTONS */
#endif /* GPD_GK19_COMPASS_H */
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment