Back to home page

EIC code displayed by LXR

 
 

    


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