Back to home page

EIC code displayed by LXR

 
 

    


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

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