Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:46

0001 #ifndef DVCSALTINTSINPHIMPHIS_H
0002 #define DVCSALTINTSINPHIMPHIS_H
0003 
0004 /**
0005  * @file DVCSAltIntSinPhiMPhis.h
0006  * @author Pawel Sznajder (NCBJ, Warsaw)
0007  * @date November 16, 2017
0008  * @version 1.0
0009  */
0010 
0011 #include <string>
0012 
0013 #include "../../../../beans/gpd/GPDType.h"
0014 #include "../../../../beans/List.h"
0015 #include "../../../../utils/type/PhysicalType.h"
0016 #include "../DVCSObservable.h"
0017 
0018 namespace PARTONS {
0019 
0020 /**
0021  * @class DVCSAltIntSinPhiMPhis
0022  * @brief Longitudinal beam and transverse target asymmetry (interference part).
0023  *
0024  * Definition:<br>
0025  *
0026  * \f$ \displaystyle
0027  * A_{LT, Int}^{\sin\left(\phi-\phi_{S}\right)}\left(x_{B}, t, Q^2, \phi\right) =
0028  * \frac{
0029  * \left(
0030  * \mathrm{d}^4\sigma_{\downarrow}^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) -
0031  * \mathrm{d}^4\sigma_{\downarrow}^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right) -
0032  * \mathrm{d}^4\sigma_{\downarrow}^{\rightarrow -}\left(x_{B}, t, Q^2, \phi\right) +
0033  * \mathrm{d}^4\sigma_{\downarrow}^{\leftarrow -}\left(x_{B}, t, Q^2, \phi\right)
0034  * \right) -
0035  * \left(
0036  * \mathrm{d}^4\sigma_{\uparrow}^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) -
0037  * \mathrm{d}^4\sigma_{\uparrow}^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right) -
0038  * \mathrm{d}^4\sigma_{\uparrow}^{\rightarrow -}\left(x_{B}, t, Q^2, \phi\right) +
0039  * \mathrm{d}^4\sigma_{\uparrow}^{\leftarrow -}\left(x_{B}, t, Q^2, \phi\right)
0040  * \right)
0041  * }{
0042  * \left(
0043  * \mathrm{d}^4\sigma_{\downarrow}^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) +
0044  * \mathrm{d}^4\sigma_{\downarrow}^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right) +
0045  * \mathrm{d}^4\sigma_{\downarrow}^{\rightarrow -}\left(x_{B}, t, Q^2, \phi\right) +
0046  * \mathrm{d}^4\sigma_{\downarrow}^{\leftarrow -}\left(x_{B}, t, Q^2, \phi\right)
0047  * \right) +
0048  * \left(
0049  * \mathrm{d}^4\sigma_{\uparrow}^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) +
0050  * \mathrm{d}^4\sigma_{\uparrow}^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right) +
0051  * \mathrm{d}^4\sigma_{\uparrow}^{\rightarrow -}\left(x_{B}, t, Q^2, \phi\right) +
0052  * \mathrm{d}^4\sigma_{\uparrow}^{\leftarrow -}\left(x_{B}, t, Q^2, \phi\right)
0053  * \right)
0054  * } \, ,
0055  * \f$
0056  *
0057  * where
0058  * \f$\sigma_{t_{h}}^{b_{h} b_{c}}\f$ is a single photon production cross-section (DVCS, BH and Int) for target helicity denoted by \f$t_{h}\f$, beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$.
0059  */
0060 class DVCSAltIntSinPhiMPhis: public DVCSObservable {
0061 
0062 public:
0063 
0064     /**
0065      * Unique ID to automatically register the class in the registry.
0066      */
0067     static const unsigned int classId;
0068 
0069     /**
0070      * Constructor.
0071      * @param className Name of class.
0072      */
0073     DVCSAltIntSinPhiMPhis(const std::string &className);
0074 
0075     /**
0076      * Destructor.
0077      */
0078     virtual ~DVCSAltIntSinPhiMPhis();
0079 
0080     virtual DVCSAltIntSinPhiMPhis* clone() const;
0081 
0082 protected:
0083 
0084     /**
0085      * Copy constructor.
0086      * @param other Object to be copied.
0087      */
0088     DVCSAltIntSinPhiMPhis(const DVCSAltIntSinPhiMPhis &other);
0089 
0090     virtual PhysicalType<double> computeObservable(
0091             const DVCSObservableKinematic& kinematic,
0092             const List<GPDType>& gpdType);
0093 };
0094 
0095 } /* namespace PARTONS */
0096 
0097 #endif /* DVCSALTINTSINPHIMPHIS_H */