Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef TCSACU_H
0002 #define TCSACU_H
0003 
0004 /**
0005  * @file TCSAcu.h
0006  * @author Pawel Sznajder (IPNO)
0007  * @date November 25, 2016
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 "../TCSObservable.h"
0017 
0018 namespace PARTONS {
0019 
0020 /**
0021  * @class TCSAcu
0022  * @brief Asymmetry probing circular beam polarization.
0023  *
0024  * Definition:<br>
0025  *
0026  * \f$ \displaystyle
0027  * A_{CU}{\mathrm{d}|t| \mathrm{d}Q^2 \mathrm{d}\phi \mathrm{d}\theta}\left(t, Q^2, \phi, \theta\right) =
0028  * \frac{1}{2}
0029  * \left(
0030  * \frac{\mathrm{d}^4\sigma^{+}_{UU}}{\mathrm{d}|t| \mathrm{d}Q^2 \mathrm{d}\phi \mathrm{d}\theta}\left(t, Q^2, \phi, \theta\right) -
0031  * \frac{\mathrm{d}^4\sigma^{-}_{UU}}{\mathrm{d}|t| \mathrm{d}Q^2 \mathrm{d}\phi \mathrm{d}\theta}\left(t, Q^2, \phi, \theta\right)
0032  * \right) /
0033  * \left(
0034  * \frac{\mathrm{d}^4\sigma^{+}_{UU}}{\mathrm{d}|t| \mathrm{d}Q^2 \mathrm{d}\phi \mathrm{d}\theta}\left(t, Q^2, \phi, \theta\right) +
0035  * \frac{\mathrm{d}^4\sigma^{-}_{UU}}{\mathrm{d}|t| \mathrm{d}Q^2 \mathrm{d}\phi \mathrm{d}\theta}\left(t, Q^2, \phi, \theta\right)
0036  * \right)\, .
0037  * \f$
0038  *
0039  * Unit: none.
0040  */
0041 class TCSAcu: public TCSObservable {
0042 
0043 public:
0044 
0045     /**
0046      * Unique ID to automatically register the class in the registry.
0047      */
0048     static const unsigned int classId;
0049 
0050     /**
0051      * Constructor.
0052      * @param className Name of class.
0053      */
0054     TCSAcu(const std::string &className);
0055 
0056     /**
0057      * Destructor.
0058      */
0059     virtual ~TCSAcu();
0060 
0061     virtual TCSAcu* clone() const;
0062 
0063 protected:
0064 
0065     /**
0066      * Copy constructor.
0067      * @param other Object to be copied.
0068      */
0069     TCSAcu(const TCSAcu &other);
0070 
0071     virtual PhysicalType<double> computeObservable(
0072             const TCSObservableKinematic& kinematic,
0073             const List<GPDType>& gpdType);
0074 };
0075 
0076 } /* namespace PARTONS */
0077 
0078 #endif /* TCSACU_H */