PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
PARTONS::QuarkDistribution Class Reference

Container to store values of single quark distribution. More...

Inheritance diagram for PARTONS::QuarkDistribution:
PARTONS::BaseObject

Public Member Functions

 QuarkDistribution (const QuarkDistribution &other)
 Copy constructor. More...
 
 QuarkDistribution (QuarkFlavor::Type quarkFlavor=QuarkFlavor::UNDEFINED, double quarkDistribution=0., double quarkDistributionPlus=0., double quarkDistributionMinus=0.)
 Assignment constructor. More...
 
virtual ~QuarkDistribution ()
 Destructor. More...
 
virtual std::string toString () const
 Return a pre-formatted characters string for output visualization of class member's values. More...
 
void compare (ComparisonReport &rootComparisonReport, const QuarkDistribution &referenceObject, std::string parentObjectInfo="") const
 Compare to other QuarkDistribution object and store comparison result in given comparison report. More...
 
QuarkFlavor getQuarkFlavor () const
 Get quark flavor assigned to this object. More...
 
void setQuarkFlavor (QuarkFlavor quarkFlavorType)
 Set quark flavor assigned to this object. More...
 
double getQuarkDistribution () const
 Get value of quark distribution. More...
 
void setQuarkDistribution (double quarkDistribution)
 Set value of quark distribution. More...
 
double getQuarkDistributionPlus () const
 Get value of singlet combination. More...
 
void setQuarkDistributionPlus (double quarkDistributionPlus)
 Set value of singlet combination. More...
 
double getQuarkDistributionMinus () const
 Get value of non-singlet combination. More...
 
void setQuarkDistributionMinus (double quarkDistributionMinus)
 Set value of non-singlet combination. More...
 
- Public Member Functions inherited from PARTONS::BaseObject
 BaseObject (const std::string &className)
 Constructor. More...
 
virtual ~BaseObject ()
 Default destructor. More...
 
virtual BaseObjectclone () const
 Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More...
 
virtual void resolveObjectDependencies ()
 Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More...
 
void serialize (ElemUtils::Packet &packet) const
 Used to split a complex C++ object into a concatenation of simple types. More...
 
void unserialize (ElemUtils::Packet &packet)
 Used to rebuild a complex C++ object from a concatenation of simple type. More...
 
bool operator< (const BaseObject &other) const
 Overload of < operator to sort BaseObject object by its indexId value. More...
 
const std::string & getClassName () const
 
unsigned int getObjectId () const
 
int getIndexId () const
 
void setIndexId (int indexId)
 

Static Public Attributes

static const std::string QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION
 
static const std::string QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_PLUS
 
static const std::string QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_MINUS
 

Private Attributes

QuarkFlavor m_quarkFlavor
 Quark flavor assigned to this object. More...
 
double m_quarkDistribution
 Value of quark distribution. More...
 
double m_quarkDistributionPlus
 Value of singlet (plus) combination. More...
 
double m_quarkDistributionMinus
 Value of non-singlet (minus) combination. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PARTONS::BaseObject
 BaseObject (const BaseObject &other)
 Copy constructor. More...
 
void info (const std::string &functionName, const std::string &message) const
 Print info message into logger. More...
 
void debug (const std::string &functionName, const std::string &message) const
 Print debug message into logger. More...
 
void warn (const std::string &functionName, const std::string &message) const
 Print warning message into logger. More...
 
void errorMissingParameter (const std::string &parameterName) const
 Use in automation process to throw exception when a parameter is missing from the XML scenario file. More...
 

Detailed Description

Container to store values of single quark distribution.

This class represents a quark distribution at a single kinematic point. For example, it can be GPD of a given type and specific quark flavor at some GPD kinematics.

Except the information on the assigned quark flavor, three values can be stored in this container: 1) value of the quark distributions, 2) value of the singlet combination and 3) value of the non-singlet combination. For the definition of singlet and non-singlet combinations see the documentation of QuarkDistribution::m_quarkDistributionPlus and QuarkDistribution::m_quarkDistributionMinus members. Note, that these combinations appear naturally in many GPD-related computations.

To see how this class can be used, analyze the following example:

//in code, e.g. in one of GPD modules, we calculate values of GPD H for up quarks at x and -x kinematics
double HuAtX = 2.34;
double HuAtmX = 1.23;
//calculate singlet and non-singlet combinations (note: definition is specific for given GPD type!)
double HuSinglet = HuAtX - HuAtmX;
double HuNonSinglet = HuAtX + HuAtmX;
//store my results in QuarkDistribution object
QuarkDistribution quarkDistribution(QuarkFlavor::UP, HuAtX, HuSinglet, HuNonSinglet);
//check what is inside
Partons::getInstance()->getLoggerManager()->info("example", __func__, ElemUtils::Formatter() << "My quark distribution contains: " << quarkDistribution.toString());
ElemUtils::LoggerManager * getLoggerManager() const
Definition: Partons.cpp:191
static Partons * getInstance()
Share a unique pointer of this class.
Definition: Partons.cpp:27
QuarkDistribution(const QuarkDistribution &other)
Copy constructor.
Definition: QuarkDistribution.cpp:17
@ UP
Quark flavor up.
Definition: QuarkFlavor.h:60

which gives via Logger:

20-05-2017 09:16:45 [INFO] (example::main) Quark distribution contains: u = 2.34
u(+) = 1.11
u(-) = 3.57

Check also the documentation of GPDResult and PartonDistribution classes, where QuarkDistribution objects are used extensively.

Constructor & Destructor Documentation

◆ QuarkDistribution() [1/2]

PARTONS::QuarkDistribution::QuarkDistribution ( const QuarkDistribution other)

Copy constructor.

Parameters
otherObject to be copied.

◆ QuarkDistribution() [2/2]

PARTONS::QuarkDistribution::QuarkDistribution ( QuarkFlavor::Type  quarkFlavor = QuarkFlavor::UNDEFINED,
double  quarkDistribution = 0.,
double  quarkDistributionPlus = 0.,
double  quarkDistributionMinus = 0. 
)

Assignment constructor.

Parameters
quarkFlavorQuark flavor to be assigned.
quarkDistributionValue of quark distribution.
quarkDistributionPlusValue of singlet combination, see QuarkDistribution::m_quarkDistributionPlus.
quarkDistributionMinusValue of non-singlet combination, see QuarkDistribution::m_quarkDistributionMinus.

◆ ~QuarkDistribution()

PARTONS::QuarkDistribution::~QuarkDistribution ( )
virtual

Destructor.

Member Function Documentation

◆ compare()

void PARTONS::QuarkDistribution::compare ( ComparisonReport rootComparisonReport,
const QuarkDistribution referenceObject,
std::string  parentObjectInfo = "" 
) const

Compare to other QuarkDistribution object and store comparison result in given comparison report.

Parameters
rootComparisonReportReference to comparison report to be used to store comparison result.
referenceObjectReference to object to be compared.
parentObjectInfoAddition information coming from the parent object (if needed).

◆ getQuarkDistribution()

double PARTONS::QuarkDistribution::getQuarkDistribution ( ) const

Get value of quark distribution.

◆ getQuarkDistributionMinus()

double PARTONS::QuarkDistribution::getQuarkDistributionMinus ( ) const

Get value of non-singlet combination.

◆ getQuarkDistributionPlus()

double PARTONS::QuarkDistribution::getQuarkDistributionPlus ( ) const

Get value of singlet combination.

◆ getQuarkFlavor()

QuarkFlavor PARTONS::QuarkDistribution::getQuarkFlavor ( ) const

Get quark flavor assigned to this object.

◆ setQuarkDistribution()

void PARTONS::QuarkDistribution::setQuarkDistribution ( double  quarkDistribution)

Set value of quark distribution.

◆ setQuarkDistributionMinus()

void PARTONS::QuarkDistribution::setQuarkDistributionMinus ( double  quarkDistributionMinus)

Set value of non-singlet combination.

◆ setQuarkDistributionPlus()

void PARTONS::QuarkDistribution::setQuarkDistributionPlus ( double  quarkDistributionPlus)

Set value of singlet combination.

◆ setQuarkFlavor()

void PARTONS::QuarkDistribution::setQuarkFlavor ( QuarkFlavor  quarkFlavorType)

Set quark flavor assigned to this object.

◆ toString()

std::string PARTONS::QuarkDistribution::toString ( ) const
virtual

Return a pre-formatted characters string for output visualization of class member's values.

Returns
a pre-formatted characters string.

Reimplemented from PARTONS::BaseObject.

Member Data Documentation

◆ m_quarkDistribution

double PARTONS::QuarkDistribution::m_quarkDistribution
private

Value of quark distribution.

◆ m_quarkDistributionMinus

double PARTONS::QuarkDistribution::m_quarkDistributionMinus
private

Value of non-singlet (minus) combination.

In GPD formalism it is C-odd combination of single type GPDs, e.g.:
\(H^{q(-)}(x, \xi, t) = H^{q}(x, \xi, t) + H^{q}(-x, \xi, t)\)
\(\tilde{H}^{q(-)}(x, \xi, t) = \tilde{H}^{q}(x, \xi, t) - \tilde{H}^{q}(-x, \xi, t)\)
and analogously for GPDs \(E\) and \(\tilde{E}\). See M. Diehl's https://arxiv.org/abs/hep-ph/0307382 Sec. 3.3.2 for more details.

◆ m_quarkDistributionPlus

double PARTONS::QuarkDistribution::m_quarkDistributionPlus
private

Value of singlet (plus) combination.

In GPD formalism it is C-even combination of single type GPDs, e.g.:
\(H^{q(+)}(x, \xi, t) = H^{q}(x, \xi, t) - H^{q}(-x, \xi, t)\)
\(\tilde{H}^{q(+)}(x, \xi, t) = \tilde{H}^{q}(x, \xi, t) + \tilde{H}^{q}(-x, \xi, t)\)
and analogously for GPDs \(E\) and \(\tilde{E}\). See M. Diehl's https://arxiv.org/abs/hep-ph/0307382 Sec. 3.3.2 for more details.

◆ m_quarkFlavor

QuarkFlavor PARTONS::QuarkDistribution::m_quarkFlavor
private

Quark flavor assigned to this object.

◆ QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION

const std::string PARTONS::QuarkDistribution::QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION
static
Initial value:
=
"quark_distribution"

◆ QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_MINUS

const std::string PARTONS::QuarkDistribution::QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_MINUS
static
Initial value:
=
"quark_distribution_minus"

◆ QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_PLUS

const std::string PARTONS::QuarkDistribution::QUARK_DISTRIBUTION_DB_COLUMN_NAME_QUARK_DISTRIBUTION_PLUS
static
Initial value:
=
"quark_distribution_plus"

The documentation for this class was generated from the following files: