Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:16

0001 #ifndef SHRIMPS_Ladders_Ladder_TProp_H
0002 #define SHRIMPS_Ladders_Ladder_TProp_H
0003 
0004 #include "ATOOLS/Math/Vector.H"
0005 #include <list>
0006 
0007 namespace SHRIMPS {
0008   struct colour_type {
0009     enum code {
0010       none    = 0,
0011       singlet = 1,
0012       triplet = 3,
0013       octet   = 8
0014     };
0015   };
0016   std::ostream & operator<<(std::ostream & s, const colour_type::code & colour);
0017   
0018   class T_Prop {
0019   private:
0020     colour_type::code m_col;
0021     ATOOLS::Vec4D     m_q;
0022     double            m_q2, m_qt2, m_q02, m_qmax2;
0023   public:
0024     T_Prop(const colour_type::code & col=colour_type::octet,
0025        const ATOOLS::Vec4D & q=ATOOLS::Vec4D(0.,0.,0.,0.),
0026        const double & q02=0.);
0027 
0028     inline void SetCol(const colour_type::code & col) { m_col   = col; }
0029     inline void SetQ(const ATOOLS::Vec4D & q)         { m_q     = q; }
0030     inline void SetQ2(const double & q2)              { m_q2    = q2; }
0031     inline void SetQT2(const double & qt2)            { m_qt2   = qt2; }
0032     inline void SetQ02(const double & q02)            { m_q02   = q02; }
0033     inline void SetQMax2(const double & qmax2)        { m_qmax2 = qmax2; }
0034     
0035     inline const colour_type::code & Col() const { return m_col; }
0036     inline const ATOOLS::Vec4D & Q()       const { return m_q; }
0037     inline const double & Q2()             const { return m_q2; }
0038     inline const double & QT2()            const { return m_qt2; }
0039     inline const double & Q02()            const { return m_q02; }
0040     inline const double & QMax2()          const { return m_qmax2; }
0041   };
0042   
0043   typedef std::list<T_Prop> TPropList;
0044   std::ostream & operator<<(std::ostream & s, const T_Prop & tprop);
0045   std::ostream & operator<<(std::ostream & s, const TPropList & props);
0046 }
0047 #endif