Back to home page

EIC code displayed by LXR

 
 

    


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

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