Back to home page

EIC code displayed by LXR

 
 

    


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