Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef MODEL__Main__Single_Vertex_H
0002 #define MODEL__Main__Single_Vertex_H
0003 
0004 #include "MODEL/Main/Color_Function.H"
0005 #include "ATOOLS/Math/MyComplex.H"
0006 #include "ATOOLS/Math/Kabbala.H"
0007 #include "ATOOLS/Phys/Flavour.H"
0008 
0009 namespace MODEL {
0010 
0011   class Single_Vertex {
0012   public:
0013 
0014     std::vector<ATOOLS::Flavour> in;
0015     std::vector<ATOOLS::Kabbala> cpl;
0016     std::vector<Color_Function> Color;
0017     std::vector<std::string> Lorentz;
0018     std::vector<size_t> id;
0019     std::vector<int> order;
0020 
0021     int dec;
0022 
0023     // constructors and destructor
0024     Single_Vertex();
0025     ~Single_Vertex(); 
0026     
0027     std::string PID() const;
0028 
0029     int Compare(const Single_Vertex *v) const;
0030 
0031     bool PureQCD() const;
0032 
0033     inline size_t NLegs() const { return in.size(); }
0034     inline void AddParticle(const ATOOLS::Flavour &fl,const int n=-1)
0035     { in.push_back(fl); id.push_back(n>=0?n:in.size()-1); }
0036 
0037     inline const Complex &Coupling(const size_t &i) const
0038     { return cpl[i].Value(); }
0039 
0040     bool operator==(const Single_Vertex&);
0041 
0042   };   
0043 
0044   std::ostream &operator<<(std::ostream &,const Single_Vertex &);
0045 
0046 } // end of namespace
0047 
0048 #endif