Back to home page

EIC code displayed by LXR

 
 

    


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     };// end of struct CInfo
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     // constructor
0032     Dipole_Color(const Vertex_Key &key);
0033 
0034     // destructor
0035     ~Dipole_Color();
0036 
0037     // member functions
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   };// end of class Dipole_Color
0044 
0045   std::ostream &operator<<(std::ostream &str,
0046                const Dipole_Color::CInfo &c);
0047 
0048 }// end of namespace METOOLS
0049 
0050 #endif