|
PARTONS
|
PARtonic Tomography Of Nucleon Software
|
![]() |
VGG process model for DVCS. More...
Public Member Functions | |
| DVCSProcessVGG99 (const std::string &className) | |
| Constructor. More... | |
| virtual | ~DVCSProcessVGG99 () |
| Default destructor. More... | |
| virtual DVCSProcessVGG99 * | clone () const |
| Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More... | |
Public Member Functions inherited from PARTONS::DVCSProcessModule | |
| virtual | ~DVCSProcessModule () |
| Destructor. 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 DVCSObservableResult | compute (double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization, const DVCSObservableKinematic &kinematic, const List< GPDType > &gpdType=List< GPDType >()) |
| virtual List< GPDType > | getListOfAvailableGPDTypeForComputation () const |
| Must be implemented in child class. More... | |
| DVCSObservableResult | compute (double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization, const DVCSObservableKinematic &kinematic, const List< GPDType > &gpdType, VCSSubProcessType::Type processType) |
| Computes the differential cross-section. More... | |
| virtual void | resetPreviousKinematic () |
| Reset previous kinematics. More... | |
| bool | isPreviousCCFKinematicDifferent (const DVCSConvolCoeffFunctionKinematic &kinematic) const |
| Check if this kinematics is different than the previous one. More... | |
| DVCSScalesModule * | getScaleModule () const |
| Get scale module. More... | |
| void | setScaleModule (DVCSScalesModule *pScaleModule) |
| Set scale module. More... | |
| DVCSXiConverterModule * | getXiConverterModule () const |
| Get xi converter module. More... | |
| void | setXiConverterModule (DVCSXiConverterModule *pXiConverterModule) |
| Set xi converted module. More... | |
| DVCSConvolCoeffFunctionModule * | getConvolCoeffFunctionModule () const |
| Get CCF module;. More... | |
| void | setConvolCoeffFunctionModule (DVCSConvolCoeffFunctionModule *pConvolCoeffFunctionModule) |
| Set CCF module. More... | |
| void | setConvolCoeffFunction (const DVCSConvolCoeffFunctionKinematic &kin, const DVCSConvolCoeffFunctionResult &result) |
| Set manually CFFs. More... | |
Public Member Functions inherited from PARTONS::ProcessModule< DVCSObservableKinematic, DVCSObservableResult > | |
| 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 unsigned int | classId |
| Unique ID to automatically register the class in the registry. More... | |
Static Public Attributes inherited from PARTONS::DVCSProcessModule | |
| static const std::string | DVCS_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 | |
| DVCSProcessVGG99 (const DVCSProcessVGG99 &other) | |
| Copy constructor. More... | |
| 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... | |
| 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... | |
Protected Member Functions inherited from PARTONS::DVCSProcessModule | |
| DVCSProcessModule (const std::string &className) | |
| Default constructor. More... | |
| DVCSProcessModule (const DVCSProcessModule &other) | |
| Copy constructor. More... | |
| virtual void | setKinematics (const DVCSObservableKinematic &kinematic) |
| Set internal kinematics. More... | |
| virtual void | setExperimentalConditions (double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization) |
| void | computeConvolCoeffFunction (const DVCSObservableKinematic &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< DVCSObservableKinematic, DVCSObservableResult > | |
| 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... | |
Private Types | |
| enum | SpinorOrientation { UNDEFINED = 0 , x = 1 , y = 2 , z = 3 } |
| Orientation of spinor. More... | |
| typedef NumA::VectorComplex3D | momentum3 |
| typedef NumA::VectorComplex4D | momentum4 |
| typedef NumA::VectorComplex4D | spinor |
| typedef NumA::MatrixComplex4D | spinorMatrix |
Private Member Functions | |
| void | fillInternalVariables (NumA::Vector3D targetPolarization) |
| Used to fill internal variables. More... | |
| NumA::VectorComplex4D | V4ini (std::complex< double > a, NumA::VectorComplex3D b) |
| Initialize four vector from energy and momentum. More... | |
| NumA::VectorComplex4D | spinor_pos (NumA::VectorComplex3D p, double mass, double sproj) |
| Positive-energy Dirac spinor. More... | |
| NumA::MatrixComplex4D | dirac_gamma (int mu) |
| Contravariant Dirac matrices as 4 by 4 matrices in spinor space (convention Bjorken and Drell 1964). More... | |
| NumA::MatrixComplex4D | dirac_gamma5 () |
| Gamma5 matrix. More... | |
| double | metric (int mu, int nu) |
| Metric signature. More... | |
| NumA::VectorComplex3D | pauli (double row, double col) |
| Elements of three Pauli matrices for given index element (up/left: ++, u/r:+-, d/l: -+, d/r:–). More... | |
| NumA::VectorComplex4D | spinor_adj (NumA::VectorComplex4D a) |
| Dirac adjoint. More... | |
| std::complex< double > | spinleft_mat_spinright (NumA::VectorComplex4D l, NumA::MatrixComplex4D m, NumA::VectorComplex4D r) |
| Spinor|gamma|spinor product. More... | |
| NumA::MatrixComplex4D | fvec_slash (NumA::VectorComplex4D a) |
| Contraction of four vector with gamma matrix. More... | |
| std::complex< double > | V4mul (NumA::VectorComplex4D a, NumA::VectorComplex4D b) |
| Contraction of two four vectors. More... | |
| std::complex< double > | Cinv (std::complex< double > z) |
| Complex number inverse. More... | |
| NumA::VectorComplex4D | spinor_hel (momentum3 p, double hel) |
| Helicity spinor for a particle with momentum, mass 0 and helicity +/-. More... | |
| double | polar_angle (NumA::VectorComplex3D t) |
| Polar angle for given vector. More... | |
| double | azimut_angle (NumA::VectorComplex3D t) |
| Azimuthal angle for given vector. More... | |
| NumA::MatrixComplex4D | dirac_sigma (int mu, int nu) |
| Contravariant tensor sigma in spinor space (convention Bjorken and Drell 1964). More... | |
| NumA::MatrixComplex4D | unit_spinor_mat () |
| Unit spinor matrix. More... | |
| NumA::VectorComplex3D | Vpolar (double magn, double th, double phi) |
| Vector set via magnitude, polar and azimuthal angles. More... | |
| double | antisymm_epsilon (int ka, int la, int mu, int nu) |
| Antisymmetric epsilon. More... | |
| double | CrossSectionMechanism (double beamHelicity, double beamCharge, NumA::Vector3D targetPolarization, int mechanism) |
| Calculate cross section. More... | |
| double | v_compton_doublepol_cross_inv (double leptcharge, int mechanism, double el_hel, double sp_in) |
| Calculate cross section for specific helicities. More... | |
| NumA::MatrixComplex4D | gamma_NN_vertex (int mu, NumA::VectorComplex4D q) |
| Gamma_NN electromagnetic vertex. More... | |
| std::complex< double > | AmplitudeBH (int mu, double el_hel, double sp_in, double sp_out) |
| Amplitude for BH process. More... | |
| std::complex< double > | AmplitudeDVCS (int mu, double el_hel, double sp_in, double sp_out) |
| Amplitude for DVCS process. More... | |
| std::complex< double > | J_DVCS (int mu, int nu, double sp_in, double sp_out) |
| Amplitude for the reaction. More... | |
| std::complex< double > | v_compton_t_matrix_hel (double leptcharge, int mechanism, int mu, double el_hel, double sp_in, double sp_out) |
| Matrix element for the reaction. More... | |
| double | v_compton_doublepol_sqrampl (double leptcharge, int mechanism, double el_hel, double sp_in) |
| Squared amplitude for the reaction. More... | |
Private Attributes | |
| double | m_target_polarization |
| Target polarization. More... | |
| double | m_target_polarizationL |
| Longitudinal component of target polarization. More... | |
| double | m_target_polarizationT |
| Transverse component of target polarization. More... | |
| double | m_target_polarizationT_x |
| Transverse x component of target polarization. More... | |
| double | m_target_polarizationT_y |
| Transverse y component of target polarization. More... | |
| SpinorOrientation | m_proton_spinor_orientation |
| Orientation of target spinor. More... | |
| double | m_nu |
| Kinematic variable nu. More... | |
| double | m_y |
| Kinematic variable y. More... | |
| double | m_s |
| Kinematic variable s. More... | |
| double | m_xi |
| Kinematic variable xi. More... | |
| double | k_in_mom |
| Momentum of incoming lepton. More... | |
| double | k_out_mom |
| Momentum of outgoing lepton. More... | |
| double | q_in_mom |
| Momentum of incoming photon. More... | |
| double | q_out_mom |
| Momentum of outgoing photon. More... | |
| double | k_in_en |
| Energy of incoming lepton. More... | |
| double | k_out_en |
| Energy of outgoing lepton. More... | |
| double | q_in_en |
| Energy of incoming photon. More... | |
| double | q_out_en |
| Energy of outgoing photon. More... | |
| double | p_in_en |
| Energy of incoming proton. More... | |
| double | p_out_en |
| Energy of outgoing proton. More... | |
| momentum3 | k_in |
| Momentum vector of incoming lepton. More... | |
| momentum3 | k_out |
| Momentum vector of outgoing lepton. More... | |
| momentum3 | q_in |
| Momentum vector of incoming photon. More... | |
| momentum3 | q_out |
| Momentum vector of outgoing photon. More... | |
| momentum3 | p_in |
| Momentum vector of incoming proton. More... | |
| momentum3 | p_out |
| Momentum vector of outgoing proton. More... | |
| momentum4 | k4_in |
| Four vector of incomming lepton. More... | |
| momentum4 | k4_out |
| Four vector of outgoing lepton. More... | |
| momentum4 | q4_in |
| Four vector of incomming photon. More... | |
| momentum4 | q4_out |
| Four vector of outgoing photon. More... | |
| momentum4 | p4_in |
| Four vector of incomming proton. More... | |
| momentum4 | p4_out |
| Four vector of outgoing proton. More... | |
| double | an_th_q_out |
| Polar angle of outgoing photon. More... | |
| double | an_phi_q_out |
| Azimuthal angle of outgoing photon. More... | |
Additional Inherited Members | |
Protected Attributes inherited from PARTONS::DVCSProcessModule | |
| double | m_xB |
| Bjorken variable. More... | |
| double | m_t |
| Mandelstam variable (square of the 4-momentum transferm in GeV2). More... | |
| double | m_Q2 |
| 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_beamHelicity |
| Beam helicity. More... | |
| double | m_beamCharge |
| Beam charge. More... | |
| NumA::Vector3D | m_targetPolarization |
| Target polarization. More... | |
| double | m_tmin |
| Minimal value of t. More... | |
| double | m_tmax |
| Maximal value of t. More... | |
| double | m_xBmin |
| Minimal value of xB. More... | |
| double | m_y |
| Lepton energy fraction. More... | |
| double | m_epsilon |
| \( \epsilon = \frac{2 x_B M}{Q} \). More... | |
| DVCSScalesModule * | m_pScaleModule |
| Pointer to the underlying scale module. More... | |
| DVCSXiConverterModule * | m_pXiConverterModule |
| Pointer to the underlying xi converter module. More... | |
| DVCSConvolCoeffFunctionModule * | m_pConvolCoeffFunctionModule |
| Pointer to the underlying CCF module. More... | |
| DVCSConvolCoeffFunctionResult | m_dvcsConvolCoeffFunctionResult |
| Stored Compton Form Factor result. More... | |
| DVCSConvolCoeffFunctionKinematic | m_lastCCFKinematics |
| Last Compton Form Factor kinematics. More... | |
Protected Attributes inherited from PARTONS::ProcessModule< DVCSObservableKinematic, DVCSObservableResult > | |
| 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... | |
VGG process model for DVCS.
For the reference see:
Module based on the original code received from M. Guidal as a private communication.
|
private |
|
private |
|
private |
|
private |
|
private |
| PARTONS::DVCSProcessVGG99::DVCSProcessVGG99 | ( | const std::string & | className | ) |
Constructor.
See BaseObject::BaseObject and ModuleObject::ModuleObject for more details.
| className | name of child class. |
|
virtual |
Default destructor.
|
protected |
Copy constructor.
| other | Object to be copied. |
|
private |
Amplitude for BH process.
| mu | Dimension index. |
| el_hel | Beam helicity. |
| sp_in | Target helicity (incoming proton). |
| sp_out | (outgoing proton). |
|
private |
Amplitude for DVCS process.
| mu | Dimension index. |
| el_hel | Beam helicity. |
| sp_in | Target helicity (incoming proton). |
| sp_out | (outgoing proton). |
|
private |
Antisymmetric epsilon.
| ka,la,mu,nu | Indices. |
|
private |
Azimuthal angle for given vector.
| t | Input vector. |
|
private |
Complex number inverse.
| z | Complex number to be inverted. |
|
virtual |
Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry.
Implements PARTONS::DVCSProcessModule.
|
protectedvirtual |
Bethe-Heitler differential cross section.
Reimplemented from PARTONS::DVCSProcessModule.
|
protectedvirtual |
Interference differential cross section.
Reimplemented from PARTONS::DVCSProcessModule.
|
private |
Calculate cross section.
| beamHelicity | Beam helicity. |
| beamCharge | Beam charge. |
| targetPolarization | Target polarization. |
| mechanism | Mechanism (0 - BH, 1 - DVCS, 2 - INT). |
|
protectedvirtual |
Virtual Compton Scattering differential cross section.
Reimplemented from PARTONS::DVCSProcessModule.
|
private |
Contravariant Dirac matrices as 4 by 4 matrices in spinor space (convention Bjorken and Drell 1964).
| mu | Dimension index. |
|
private |
Gamma5 matrix.
|
private |
Contravariant tensor sigma in spinor space (convention Bjorken and Drell 1964).
| mu,nu | Dimension indices. |
|
private |
Used to fill internal variables.
|
private |
Contraction of four vector with gamma matrix.
| a | Input four vector. |
|
private |
Gamma_NN electromagnetic vertex.
| mu | Dimension index. |
| q | Four momentum of virtual photon. |
|
protectedvirtual |
Pure virtual function that provides skeleton for module initialization.
Children must define and override it.
Reimplemented from PARTONS::DVCSProcessModule.
|
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::DVCSProcessModule.
|
private |
Amplitude for the reaction.
| mu,nu | Dimension indices. |
| sp_in | Target helicity (incoming proton). |
| sp_out | (outgoing proton). |
|
private |
Metric signature.
| mu,nu | Dimension indices. |
|
private |
Elements of three Pauli matrices for given index element (up/left: ++, u/r:+-, d/l: -+, d/r:–).
| row | Row of matrix. |
| col | Column of matrix. |
|
private |
Polar angle for given vector.
| t | Input vector. |
|
private |
Spinor|gamma|spinor product.
| l | Spinor left. |
| m | Gamma matrix. |
| r | Spinor right. |
|
private |
Dirac adjoint.
| a | Input dirac spinor. |
|
private |
Helicity spinor for a particle with momentum, mass 0 and helicity +/-.
| p | Input momentum. |
| hel | Input helicity. |
|
private |
Positive-energy Dirac spinor.
| p | Momentum vector. |
| mass | Mass. |
| sproj | Spin projection. |
|
private |
Unit spinor matrix.
|
private |
Initialize four vector from energy and momentum.
| a | Input energy. |
| b | Input momentum vector. |
|
private |
Contraction of two four vectors.
| a,b | Input four vectors. |
|
private |
Calculate cross section for specific helicities.
| leptcharge | Beam charge. |
| mechanism | Mechanism (0 - BH, 1 - DVCS, 2 - INT). |
| el_hel | Beam helicity. |
| sp_in | Target helicity. |
|
private |
Squared amplitude for the reaction.
| leptcharge | Beam charge. |
| mechanism | Mechanism (0 - BH, 1 - DVCS, 2 - INT). |
| el_hel | Beam helicity. |
| sp_in | Target helicity. |
|
private |
Matrix element for the reaction.
| leptcharge | Beam charge. |
| mechanism | Mechanism (0 - BH, 1 - DVCS, 2 - INT). |
| mu | Dimension index. |
| el_hel | Beam helicity. |
| sp_in | Target helicity (incoming proton). |
| sp_out | (outgoing proton). |
|
private |
Vector set via magnitude, polar and azimuthal angles.
| magn | Magnitude. |
| th | Polar angle. |
| phi | Azimuthal angle. |
|
private |
Azimuthal angle of outgoing photon.
|
private |
Polar angle of outgoing photon.
|
static |
Unique ID to automatically register the class in the registry.
|
private |
Four vector of incomming lepton.
|
private |
Four vector of outgoing lepton.
|
private |
Momentum vector of incoming lepton.
|
private |
Energy of incoming lepton.
|
private |
Momentum of incoming lepton.
|
private |
Momentum vector of outgoing lepton.
|
private |
Energy of outgoing lepton.
|
private |
Momentum of outgoing lepton.
|
private |
Kinematic variable nu.
|
private |
Orientation of target spinor.
|
private |
Kinematic variable s.
|
private |
Target polarization.
|
private |
Longitudinal component of target polarization.
|
private |
Transverse component of target polarization.
|
private |
Transverse x component of target polarization.
|
private |
Transverse y component of target polarization.
|
private |
Kinematic variable xi.
|
private |
Kinematic variable y.
|
private |
Four vector of incomming proton.
|
private |
Four vector of outgoing proton.
|
private |
Momentum vector of incoming proton.
|
private |
Energy of incoming proton.
|
private |
Momentum vector of outgoing proton.
|
private |
Energy of outgoing proton.
|
private |
Four vector of incomming photon.
|
private |
Four vector of outgoing photon.
|
private |
Momentum vector of incoming photon.
|
private |
Energy of incoming photon.
|
private |
Momentum of incoming photon.
|
private |
Momentum vector of outgoing photon.
|
private |
Energy of outgoing photon.
|
private |
Momentum of outgoing photon.