PARTONS
|
PARtonic Tomography Of Nucleon Software
|
Abstract class for computing the differential cross section of the photon electroproduction process (also called TCS; Deeply Virtual Compton Scattering). More...
Public Member Functions | |
virtual | ~TCSProcessModule () |
Destructor. More... | |
virtual TCSProcessModule * | clone () const =0 |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
virtual std::string | toString () const |
Return a pre-formatted characters string for output visualization of class member's values. 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... | |
virtual void | run () |
virtual void | configure (const ElemUtils::Parameters ¶meters) |
Provides a generic method to configure all types of modules by passing a Parameters object. More... | |
virtual void | prepareSubModules (const std::map< std::string, BaseObjectData > &subModulesData) |
Method used in automation to prepare all the modules used by this current module and configure them recursively. More... | |
virtual TCSObservableResult | compute (double beamPolarization, NumA::Vector3D targetPolarization, const TCSObservableKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
virtual List< GPDType > | getListOfAvailableGPDTypeForComputation () const |
Must be implemented in child class. More... | |
TCSObservableResult | compute (double beamPolarization, NumA::Vector3D targetPolarization, const TCSObservableKinematic &kinematic, const List< GPDType > &gpdType, VCSSubProcessType::Type processType) |
Computes the differential cross-section. More... | |
virtual void | resetPreviousKinematic () |
Reset previous kinematics. More... | |
bool | isPreviousCCFKinematicDifferent (const TCSConvolCoeffFunctionKinematic &kinematic) const |
Check if this kinematics is different than the previous one. More... | |
TCSScalesModule * | getScaleModule () const |
Get scale module. More... | |
void | setScaleModule (TCSScalesModule *pScaleModule) |
Set scale module. More... | |
TCSXiConverterModule * | getXiConverterModule () const |
Get xi converter module. More... | |
void | setXiConverterModule (TCSXiConverterModule *pXiConverterModule) |
Set xi converted module. More... | |
TCSConvolCoeffFunctionModule * | getConvolCoeffFunctionModule () const |
Get CCF module;. More... | |
void | setConvolCoeffFunctionModule (TCSConvolCoeffFunctionModule *pConvolCoeffFunctionModule) |
Set CCF module. More... | |
virtual PhysicalType< double > | CrossSectionBH () |
Bethe-Heitler differential cross section. More... | |
virtual PhysicalType< double > | CrossSectionVCS () |
Virtual Compton Scattering differential cross section. More... | |
virtual PhysicalType< double > | CrossSectionInterf () |
Interference differential cross section. More... | |
void | setConvolCoeffFunction (const TCSConvolCoeffFunctionKinematic &kin, const TCSConvolCoeffFunctionResult &result) |
Set manually CFFs. More... | |
Public Member Functions inherited from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult > | |
virtual | ~ProcessModule () |
Destructor. More... | |
bool | isCCFModuleDependent () const |
Check if this process module depends on a CCF module. More... | |
void | setIsCCFModuleDependent (bool isCCFModuleDependent) |
Set if this process module depends on a CCF module. More... | |
Public Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
virtual | ~ModuleObject () |
Default destructor. More... | |
unsigned int | getReferenceModuleId () const |
Get reference module id. More... | |
void | setReferenceModuleId (unsigned int referenceModuleId) |
Set reference module id. More... | |
ChannelType::Type | getChannelType () const |
Get channel type. More... | |
Public Member Functions inherited from PARTONS::BaseObject | |
BaseObject (const std::string &className) | |
Constructor. More... | |
virtual | ~BaseObject () |
Default destructor. 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 | TCS_PROCESS_MODULE_CLASS_NAME |
Type of the module in XML automation. More... | |
Static Public Attributes inherited from PARTONS::ModuleObject | |
static const std::string | CLASS_NAME = "className" |
Protected Member Functions | |
TCSProcessModule (const std::string &className) | |
Default constructor. More... | |
TCSProcessModule (const TCSProcessModule &other) | |
Copy constructor. More... | |
virtual void | setKinematics (const TCSObservableKinematic &kinematic) |
Set internal kinematics. More... | |
virtual void | setExperimentalConditions (double beamPolarization, NumA::Vector3D targetPolarization) |
virtual void | initModule () |
Pure virtual function that provides skeleton for module initialization. More... | |
virtual void | isModuleWellConfigured () |
Pure virtual function that provides skeleton to check if the module is well initialized and configured. More... | |
void | computeConvolCoeffFunction (const TCSObservableKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
Compute CCF for a given kinematics. More... | |
std::complex< double > | getConvolCoeffFunctionValue (GPDType::Type gpdType) |
Gives back a previously computed Compton Form Factor. More... | |
Protected Member Functions inherited from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult > | |
ProcessModule (const std::string &className, ChannelType::Type channelType) | |
Constructor. More... | |
ProcessModule (const ProcessModule &other) | |
Copy constructor. More... | |
Protected Member Functions inherited from PARTONS::ModuleObject | |
ModuleObject (const ModuleObject &other) | |
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 ¶meterName) const |
Use in automation process to throw exception when a parameter is missing from the XML scenario file. More... | |
Protected Attributes | |
double | m_t |
Mandelstam variable (square of the 4-momentum transferm in GeV2). More... | |
double | m_Q2Prim |
Virtuality of the incoming photon (in GeV2). More... | |
double | m_E |
Beam energy in target rest frame (in GeV). More... | |
double | m_phi |
Angle between leptonic and hadronic plane (in radians, Trento convention). More... | |
double | m_theta |
Angle between positively charged lepton and scattered proton in lepton CMS (in degrees). More... | |
double | m_beamPolarization |
Beam polarization. More... | |
NumA::Vector3D | m_targetPolarization |
Target polarization. More... | |
double | m_tmin |
Minimal value of t. More... | |
double | m_tmax |
Maximal value of t. More... | |
TCSScalesModule * | m_pScaleModule |
Pointer to the underlying scale module. More... | |
TCSXiConverterModule * | m_pXiConverterModule |
Pointer to the underlying xi converter module. More... | |
TCSConvolCoeffFunctionModule * | m_pConvolCoeffFunctionModule |
Pointer to the underlying CCF module. More... | |
TCSConvolCoeffFunctionResult | m_dvcsConvolCoeffFunctionResult |
Stored Compton Form Factor result. More... | |
TCSConvolCoeffFunctionKinematic | m_lastCCFKinematics |
Last Compton Form Factor kinematics. More... | |
Protected Attributes inherited from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult > | |
bool | m_isCCFModuleDependent |
Boolean (true if this Process module depends on a CCF module). More... | |
Protected Attributes inherited from PARTONS::ModuleObject | |
ModuleObjectFactory * | m_pModuleObjectFactory |
Pointer tp module object factory. More... | |
Abstract class for computing the differential cross section of the photon electroproduction process (also called TCS; Deeply Virtual Compton Scattering).
The cross-section is five-fold differential with respect to the variables: \( x_B \), \( Q^2 \), \( t \) and the two angles.
|
virtual |
Destructor.
|
protected |
Default constructor.
|
protected |
Copy constructor.
other | Object to be copied. |
|
pure virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Implements PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
Implemented in PARTONS::TCSProcessBDPGW19, and PARTONS::TCSProcessBDP01.
TCSObservableResult PARTONS::TCSProcessModule::compute | ( | double | beamPolarization, |
NumA::Vector3D | targetPolarization, | ||
const TCSObservableKinematic & | kinematic, | ||
const List< GPDType > & | gpdType, | ||
VCSSubProcessType::Type | processType | ||
) |
Computes the differential cross-section.
Must be implemented in the child class.
beamHelicity | Helicity of the beam (in units of hbar/2). |
beamCharge | Charge of the beam (in units of positron charge). |
targetPolarization | Polarization of the target. In GV conventions. |
kinematic | Kinematics. |
processType | Subprocess type. |
|
virtual |
|
protected |
Compute CCF for a given kinematics.
kinematic | Kinematics to be computed. |
gpdType | List of GPD types to be computed. |
|
virtual |
Provides a generic method to configure all types of modules by passing a Parameters object.
Parameters class represents a list of couples key/value (see Parameters class documentation for more info).
parameters | ElemUtils::Parameters object. |
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
|
virtual |
Bethe-Heitler differential cross section.
Reimplemented in PARTONS::TCSProcessBDPGW19, and PARTONS::TCSProcessBDP01.
|
virtual |
Interference differential cross section.
Reimplemented in PARTONS::TCSProcessBDPGW19, and PARTONS::TCSProcessBDP01.
|
virtual |
Virtual Compton Scattering differential cross section.
Reimplemented in PARTONS::TCSProcessBDPGW19, and PARTONS::TCSProcessBDP01.
TCSConvolCoeffFunctionModule * PARTONS::TCSProcessModule::getConvolCoeffFunctionModule | ( | ) | const |
Get CCF module;.
|
protected |
Gives back a previously computed Compton Form Factor.
gpdType | CFF type (e.g. H or E). |
|
virtual |
Must be implemented in child class.
Implements PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
TCSScalesModule * PARTONS::TCSProcessModule::getScaleModule | ( | ) | const |
Get scale module.
TCSXiConverterModule * PARTONS::TCSProcessModule::getXiConverterModule | ( | ) | const |
Get xi converter module.
|
protectedvirtual |
Pure virtual function that provides skeleton for module initialization.
Children must define and override it.
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
Reimplemented in PARTONS::TCSProcessBDP01.
|
protectedvirtual |
Pure virtual function that provides skeleton to check if the module is well initialized and configured.
Children must define and override it.
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
Reimplemented in PARTONS::TCSProcessBDPGW19, and PARTONS::TCSProcessBDP01.
bool PARTONS::TCSProcessModule::isPreviousCCFKinematicDifferent | ( | const TCSConvolCoeffFunctionKinematic & | kinematic | ) | const |
Check if this kinematics is different than the previous one.
|
virtual |
Method used in automation to prepare all the modules used by this current module and configure them recursively.
The recursion is linked to the imbrication in XML files.
Can be implemented in the child class if it needs modules not needed by the parent class. But there must be first a call to the parent method.
subModulesData | Data used to retrieve the needed modules and their configuration. |
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
|
virtual |
Reset previous kinematics.
|
virtual |
Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others.
To avoid the problem of pointer resolution order, this method is called by the BaseObjectRegistery after all objects are well registered in it. See BaseObjectRegistry class documentation for more details.
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
|
virtual |
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
void PARTONS::TCSProcessModule::setConvolCoeffFunction | ( | const TCSConvolCoeffFunctionKinematic & | kin, |
const TCSConvolCoeffFunctionResult & | result | ||
) |
Set manually CFFs.
void PARTONS::TCSProcessModule::setConvolCoeffFunctionModule | ( | TCSConvolCoeffFunctionModule * | pConvolCoeffFunctionModule | ) |
Set CCF module.
|
protectedvirtual |
|
protectedvirtual |
Set internal kinematics.
kinematic | Kinematics to be set |
Implements PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
void PARTONS::TCSProcessModule::setScaleModule | ( | TCSScalesModule * | pScaleModule | ) |
Set scale module.
void PARTONS::TCSProcessModule::setXiConverterModule | ( | TCSXiConverterModule * | pXiConverterModule | ) |
Set xi converted module.
|
virtual |
Return a pre-formatted characters string for output visualization of class member's values.
Reimplemented from PARTONS::ProcessModule< TCSObservableKinematic, TCSObservableResult >.
|
protected |
Beam polarization.
|
protected |
Stored Compton Form Factor result.
|
protected |
Beam energy in target rest frame (in GeV).
|
protected |
Last Compton Form Factor kinematics.
|
protected |
Pointer to the underlying CCF module.
|
protected |
Angle between leptonic and hadronic plane (in radians, Trento convention).
|
protected |
Pointer to the underlying scale module.
|
protected |
Pointer to the underlying xi converter module.
|
protected |
Virtuality of the incoming photon (in GeV2).
|
protected |
Mandelstam variable (square of the 4-momentum transferm in GeV2).
|
protected |
Target polarization.
|
protected |
Angle between positively charged lepton and scattered proton in lepton CMS (in degrees).
|
protected |
Maximal value of t.
|
protected |
Minimal value of t.
|
static |
Type of the module in XML automation.