Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef TCSAUTCOSPHIMPHIS_
0002 #define TCSAUTCOSPHIMPHIS_
0003 
0004 /**
0005  * @file TCSAutCosPhiMPhis.h
0006  * @author Pawel Sznajder
0007  * @author Oskar Grocholski
0008  * @date November 8, 2019
0009  * @version 1.0
0010  */
0011 
0012 #include <string>
0013 
0014 #include "../../../../beans/gpd/GPDType.h"
0015 #include "../../../../beans/List.h"
0016 #include "../../../../utils/type/PhysicalType.h"
0017 #include "../TCSObservable.h"
0018 
0019 namespace PARTONS {
0020 
0021 /**
0022  * @class TCSAutCosPhiMPhis
0023  * @brief Asymmetry probing transverse target polarization \f$\cos(\phi - \phi_{S})\f$ component.
0024  *
0025  * Unit: none.
0026  */
0027 class TCSAutCosPhiMPhis: public TCSObservable {
0028 
0029 public:
0030 
0031     /**
0032      * Unique ID to automatically register the class in the registry.
0033      */
0034     static const unsigned int classId;
0035 
0036     /**
0037      * Constructor.
0038      * @param className Name of class.
0039      */
0040     TCSAutCosPhiMPhis(const std::string &className);
0041 
0042     /**
0043      * Destructor.
0044      */
0045     virtual ~TCSAutCosPhiMPhis();
0046 
0047     virtual TCSAutCosPhiMPhis* clone() const;
0048 
0049 protected:
0050 
0051     /**
0052      * Copy constructor.
0053      * @param other Object to be copied.
0054      */
0055     TCSAutCosPhiMPhis(const TCSAutCosPhiMPhis &other);
0056 
0057     virtual PhysicalType<double> computeObservable(
0058             const TCSObservableKinematic& kinematic,
0059             const List<GPDType>& gpdType);
0060 };
0061 
0062 } /* namespace PARTONS */
0063 
0064 #endif /* TCSAUTCOSPHIMPHIS_ */