Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef COMIX_Phasespace_PS_Current_H
0002 #define COMIX_Phasespace_PS_Current_H
0003 
0004 #include "COMIX/Phasespace/PS_Vertex.H"
0005 
0006 namespace ATOOLS { class NLO_subevt; }
0007 
0008 namespace COMIX {
0009 
0010   class PS_Current: public Current {
0011   public:
0012 
0013     typedef std::vector<Complex> Complex_Vector;
0014 
0015   protected:
0016 
0017     Current *p_scc;
0018 
0019     ATOOLS::NLO_subevt *p_dip;
0020 
0021   public:
0022 
0023     // constructor
0024     inline PS_Current(const Current_Key &key):
0025       Current(key), p_scc(NULL), p_dip(NULL) { m_j.resize(1); }
0026 
0027     // member functions
0028     void ConstructJ(const ATOOLS::Vec4D &p,const int ch,
0029             const int cr,const int ca,const int mode);
0030     void SetGauge(const ATOOLS::Vec4D &k);
0031 
0032     void AddPropagator();
0033 
0034     std::string Format(const CObject *c) const;
0035 
0036     char Type() const;    
0037 
0038     void SetSCC(Current *const scc);
0039 
0040     void SetDip(ATOOLS::NLO_subevt *const sub);
0041 
0042     // inline functions
0043     inline void SetMass(const double & mass)   { m_mass=mass;   }
0044     inline void SetWidth(const double & width) { m_width=width; }
0045 
0046     inline Current *SCC() const { return p_scc; }
0047 
0048     inline ATOOLS::NLO_subevt *Dip() const { return p_dip; }
0049 
0050   };// end of class PS_Current
0051 
0052 }// end of namespace COMIX
0053 
0054 #endif