Back to home page

EIC code displayed by LXR

 
 

    


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

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