File indexing completed on 2025-04-19 09:09:46
0001 #ifndef AMEGIC_DipoleSubtraction_FI_DipoleSplitting_H
0002 #define AMEGIC_DipoleSubtraction_FI_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 FI_DipoleSplitting : public DipoleSplitting_Base {
0013 double m_xijk;
0014 double m_zi,m_zj;
0015 public:
0016 FI_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_i,m,i,j,k) {}
0020
0021 void SetMomenta(const ATOOLS::Vec4D*);
0022 double GetValue();
0023 double GetDPSF() {return 1.-m_xijk;}
0024 void CalcDiPolarizations();
0025 };
0026
0027 class FI_MassiveDipoleSplitting : public DipoleSplitting_Base {
0028 double m_xijk;
0029 double m_zi,m_zj;
0030 double m_mi,m_mj,m_mij;
0031 public:
0032 FI_MassiveDipoleSplitting(ATOOLS::sbt::subtype st,
0033 ATOOLS::spt::splittingtype ft,
0034 int m,int i,int j,int k,
0035 double mi, double mj, double mij) :
0036 DipoleSplitting_Base(st,ft,ATOOLS::dpt::f_im,m,i,j,k),
0037 m_mi(mi*mi), m_mj(mj*mj), m_mij(mij*mij) {}
0038
0039 void SetMomenta(const ATOOLS::Vec4D*);
0040 double GetValue();
0041 double GetDPSF() {return 1.-m_xijk;}
0042 void CalcDiPolarizations();
0043 };
0044 }
0045 #endif