Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef METOOLS_Explicit_Vertex_Key_H
0002 #define METOOLS_Explicit_Vertex_Key_H
0003 
0004 #include "METOOLS/Explicit/Dipole_Info.H"
0005 #include "ATOOLS/Phys/Flavour.H"
0006 #include "ATOOLS/Org/STL_Tools.H"
0007 
0008 #include <string>
0009 
0010 namespace MODEL {
0011   class Model_Base;
0012   class Single_Vertex;
0013 }
0014 
0015 namespace METOOLS {
0016 
0017   class Current;
0018   class Vertex;
0019   class Color_Calculator;
0020   class Lorentz_Calculator;
0021 
0022   struct Vertex_Key {
0023   private:
0024 
0025     Vertex_Key
0026     (const std::vector<Current*> &j,
0027      Current *const c,MODEL::Model_Base *const model,
0028      MODEL::Single_Vertex *const mv=NULL,const std::string &p="",
0029      Vertex *const v=NULL,Color_Calculator *const cc=NULL,
0030      Lorentz_Calculator *const lc=NULL);
0031 
0032   public:
0033 
0034     Current *p_c, *p_k, *p_kt;
0035     std::vector<Current*> m_j;
0036 
0037     MODEL::Model_Base    *p_model;
0038     MODEL::Single_Vertex *p_mv;
0039 
0040     std::string m_p;
0041     size_t      m_n;
0042     mutable int m_d;
0043 
0044     mutable std::string m_id;
0045 
0046     mutable Vertex *p_v;
0047 
0048     mutable Color_Calculator   *p_cc;
0049     mutable Lorentz_Calculator *p_lc;
0050 
0051     Dipole_Info *p_dinfo;
0052     int m_stype;
0053 
0054     static ATOOLS::AutoDelete_Vector<Vertex_Key> s_objects;
0055 
0056     static Vertex_Key *New
0057     (const std::vector<Current*> &j,
0058      Current *const c,MODEL::Model_Base *const model,
0059      MODEL::Single_Vertex *const mv=NULL,const std::string &p="",
0060      Vertex *const v=NULL,Color_Calculator *const cc=NULL,
0061      Lorentz_Calculator *const lc=NULL);
0062 
0063     void Delete();
0064 
0065     std::string Type() const;
0066 
0067     const std::string &ID() const;
0068 
0069     ATOOLS::Flavour Fl(const size_t &i) const;
0070 
0071     Current *J(const size_t &i) const;
0072 
0073   };// end of struct Vertex_Key
0074 
0075 }// end of namespace METOOLS
0076 
0077 #endif