File indexing completed on 2025-04-19 09:10:06
0001 #ifndef METOOLS_Explicit_Dipole_Color_H
0002 #define METOOLS_Explicit_Dipole_Color_H
0003
0004 #include "METOOLS/Explicit/Color_Calculator.H"
0005
0006 namespace METOOLS {
0007
0008 class Dipole_Color: public Color_Calculator {
0009 public:
0010
0011 struct CInfo {
0012 int m_cr, m_ca, m_i, m_t;
0013 double m_s;
0014 inline CInfo(const int cr,const int ca,
0015 const int i,const int t,
0016 const double &s=1.0):
0017 m_cr(cr), m_ca(ca), m_i(i), m_t(t), m_s(s) {}
0018 };
0019
0020 protected:
0021
0022 Dipole_Info *p_dinfo;
0023 Current *p_kt;
0024
0025 Color_Calculator *p_cc;
0026
0027 std::vector<CInfo> m_ci, m_cjk;
0028
0029 public:
0030
0031
0032 Dipole_Color(const Vertex_Key &key);
0033
0034
0035 ~Dipole_Color();
0036
0037
0038 void AddJ(CObject *const j);
0039
0040 void AddJI(CObject *const j,const int t) const;
0041 void AddJJK(CObject *const j) const;
0042
0043 };
0044
0045 std::ostream &operator<<(std::ostream &str,
0046 const Dipole_Color::CInfo &c);
0047
0048 }
0049
0050 #endif