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
0024 inline PS_Current(const Current_Key &key):
0025 Current(key), p_scc(NULL), p_dip(NULL) { m_j.resize(1); }
0026
0027
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
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 };
0051
0052 }
0053
0054 #endif