Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef DVCSALUPLUS_H
0002 #define DVCSALUPLUS_H
0003 
0004 /**
0005  * @file DVCSAluPlus.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 DVCSAluPlus
0022  * @brief Longitudinally polarized beam asymmetry for positive beam charge.
0023  *
0024  * Definition:<br>
0025  *
0026  * \f$ \displaystyle
0027  * A_{LU}\left(x_{B}, t, Q^2, \phi\right) =
0028  * \frac{
0029  * \mathrm{d}^4\sigma^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) -
0030  * \mathrm{d}^4\sigma^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right)
0031  * }{
0032  * \mathrm{d}^4\sigma^{\rightarrow +}\left(x_{B}, t, Q^2, \phi\right) +
0033  * \mathrm{d}^4\sigma^{\leftarrow +}\left(x_{B}, t, Q^2, \phi\right)
0034  * } \, ,
0035  * \f$
0036  *
0037  * where
0038  * \f$\sigma^{b_{h} b_{c}}\f$ is a single photon production cross-section (DVCS, BH and Int) for beam helicity denoted by \f$b_{h}\f$ and beam charge denoted by \f$b_{c}\f$.
0039  */
0040 class DVCSAluPlus: public DVCSObservable {
0041 
0042 public:
0043 
0044     /**
0045      * Unique ID to automatically register the class in the registry.
0046      */
0047     static const unsigned int classId;
0048 
0049     /**
0050      * Constructor.
0051      * @param className Name of class.
0052      */
0053     DVCSAluPlus(const std::string &className);
0054 
0055     /**
0056      * Destructor.
0057      */
0058     virtual ~DVCSAluPlus();
0059 
0060     virtual DVCSAluPlus* clone() const;
0061 
0062 protected:
0063 
0064     /**
0065      * Copy constructor.
0066      * @param other Object to be copied.
0067      */
0068     DVCSAluPlus(const DVCSAluPlus &other);
0069 
0070     virtual PhysicalType<double> computeObservable(
0071             const DVCSObservableKinematic& kinematic,
0072             const List<GPDType>& gpdType);
0073 };
0074 
0075 } /* namespace PARTONS */
0076 
0077 #endif /* DVCSALUPLUS_H */