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