File indexing completed on 2025-04-19 09:09:45
0001 #ifndef AMEGIC_DipoleSubtraction_FF_DipoleSplitting_H
0002 #define AMEGIC_DipoleSubtraction_FF_DipoleSplitting_H
0003
0004 #include "AMEGIC++/DipoleSubtraction/DipoleSplitting_Base.H"
0005
0006 namespace MODEL {
0007 class Model_Base;
0008 }
0009
0010 namespace AMEGIC {
0011
0012 class FF_DipoleSplitting : public DipoleSplitting_Base {
0013 double m_yijk;
0014 double m_zi,m_zj;
0015 public:
0016 FF_DipoleSplitting(ATOOLS::sbt::subtype st,
0017 ATOOLS::spt::splittingtype ft,
0018 int m,int i,int j,int k) :
0019 DipoleSplitting_Base(st,ft,ATOOLS::dpt::f_f,m,i,j,k),
0020 m_yijk(0.), m_zi(0.), m_zj(0.)
0021 {}
0022
0023 void SetMomenta(const ATOOLS::Vec4D*);
0024 double GetValue();
0025 double GetDPSF() {return m_yijk;}
0026 void CalcDiPolarizations();
0027 };
0028
0029 class FF_MassiveDipoleSplitting : public DipoleSplitting_Base {
0030 double m_yijk, m_yp;
0031 double m_zi,m_zj;
0032 double m_zim,m_zjm;
0033 double m_mi2,m_mj2,m_mk2,m_mij2,m_Q2;
0034 double m_vijk,m_zpm;
0035 ATOOLS::Vec4D m_Q;
0036 public:
0037 FF_MassiveDipoleSplitting(ATOOLS::sbt::subtype st,
0038 ATOOLS::spt::splittingtype ft,
0039 int m,int i,int j,int k,
0040 double mi, double mj, double mk, double mij) :
0041 DipoleSplitting_Base(st,ft,ATOOLS::dpt::f_fm,m,i,j,k),
0042 m_yijk(0.), m_yp(0.), m_zi(0.), m_zj(0.), m_zim(0.), m_zjm(0.),
0043 m_mi2(mi*mi), m_mj2(mj*mj), m_mk2(mk*mk), m_mij2(mij*mij),
0044 m_Q2(0.), m_vijk(0.), m_zpm(0.), m_Q(ATOOLS::Vec4D(0.,0.,0.,0.))
0045 {}
0046
0047 void SetMomenta(const ATOOLS::Vec4D*);
0048 double GetValue();
0049 double GetDPSF() {return m_yijk;}
0050 void CalcDiPolarizations();
0051 };
0052 }
0053 #endif