Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-13 10:29:09

0001 #ifndef DIM__Tools__Splitting_H
0002 #define DIM__Tools__Splitting_H
0003 
0004 #include "DIM/Tools/Color.H"
0005 #include "DIM/Tools/Parton.H"
0006 #include "DIM/Tools/Weight.H"
0007 
0008 namespace DIM {
0009 
0010   class Kernel;
0011 
0012   struct Splitting {
0013 
0014     Parton *p_c, *p_s, *p_n;
0015     const Kernel *p_sk;
0016     double m_t, m_z, m_phi;
0017     double m_Q2, m_x, m_y;
0018     double m_mij2, m_mi2, m_mj2, m_mk2;
0019     double m_eta, m_t0, m_t1;
0020     Color_Vector m_ci, m_cj;
0021     int m_h[3];
0022     int m_type, m_cpl, m_kfac, m_clu;
0023     MC_Weight m_w;
0024     std::vector<double> m_vars;
0025 
0026     Splitting(Parton *const c=NULL,Parton *const s=NULL,
0027           const double &t=0.0,const double &z=0.0,
0028           const double &phi=0.0):
0029       p_c(c), p_s(s), p_n(NULL), p_sk(NULL), 
0030       m_t(t), m_z(z), m_phi(phi),
0031       m_Q2(0.0), m_x(0.0), m_y(0.0),
0032       m_mij2(0.0), m_mi2(0.0), m_mj2(0.0), m_mk2(0.0),
0033       m_eta(0.0), m_t0(0.0), m_t1(0.0),
0034       m_type(-1), m_cpl(0), m_kfac(0), m_clu(0),
0035       m_w(0,0,0)
0036     { m_h[2]=m_h[1]=m_h[0]=0; }
0037 
0038     void SetType();
0039 
0040     bool Allowed() const;
0041 
0042     inline void ResetCol() { m_ci.clear(); m_cj.clear(); }
0043 
0044     inline void AddCol(const Color &ci,const Color &cj)
0045     { m_ci.push_back(ci); m_cj.push_back(cj); }
0046 
0047   };// end of struct Splitting
0048 
0049   std::ostream &operator<<(std::ostream &s,const Splitting &p);
0050 
0051 }// end of namespace DIM
0052 
0053 #endif