Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef TCSCROSSSECTIONUU_H
0002 #define TCSCROSSSECTIONUU_H
0003 
0004 /**
0005  * @file TCSCrossSectionUU.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 TCSCrossSectionUU
0022  * @brief Unpolarized cross-section.
0023  *
0024  * Definition:<br>
0025  *
0026  * \f$ \displaystyle
0027  * \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) \, .
0028  * \f$
0029  *
0030  * Unit: \f$\mathrm{nbarn}/\mathrm{GeV}^4\f$.
0031  */
0032 class TCSCrossSectionUU: public TCSObservable {
0033 
0034 public:
0035 
0036     /**
0037      * Unique ID to automatically register the class in the registry.
0038      */
0039     static const unsigned int classId;
0040 
0041     /**
0042      * Constructor.
0043      * @param className Name of class.
0044      */
0045     TCSCrossSectionUU(const std::string &className);
0046 
0047     /**
0048      * Destructor.
0049      */
0050     virtual ~TCSCrossSectionUU();
0051 
0052     virtual TCSCrossSectionUU* clone() const;
0053 
0054 protected:
0055 
0056     /**
0057      * Copy constructor.
0058      * @param other Object to be copied.
0059      */
0060     TCSCrossSectionUU(const TCSCrossSectionUU &other);
0061 
0062     virtual PhysicalType<double> computeObservable(
0063             const TCSObservableKinematic& kinematic,
0064             const List<GPDType>& gpdType);
0065 };
0066 
0067 } /* namespace PARTONS */
0068 
0069 #endif /* TCSCROSSSECTIONUU_H */