]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/Photos/src/photos-fortran/forW-MEc.h
Update to Photos 3.56
[u/mrichter/AliRoot.git] / TEvtGen / Photos / src / photos-fortran / forW-MEc.h
1 #ifndef _forW_MEc_h_included_
2 #define _forW_MEc_h_included_
3 #include <complex>
4 using std::complex;
5
6 namespace Photospp
7 {
8
9 class PhotosMEforW
10 {
11 public:
12   static void   PHOBWnlo(double *WT);
13
14 private:
15   static double WDecayEikonalSqrKS_1ph(double p3[4],double p1[4],double p2[4],double k[4]);
16   static double WDecayBornAmpSqrKS_1ph(double p3[4],double p1[4],double p2[4]);
17   static double WDecayAmplitudeSqrKS_1ph(double p3[4],double p1[4],double p2[4],double k[4]);
18   static double SANC_WT(double PW[4],double PNE[4],double PMU[4],double PPHOT[4],double B_PW[4],double B_PNE[4],double B_PMU[4]);
19   static void   SANC_INIT1(double QB0,double QF20,double MF10,double MF20,double MB0);
20   static void   SANC_INIT(double ALPHA,int PHLUN);
21
22 private:
23   static complex<double> InProd_zero(double p1[4],int l1,double p2[4],int l2);
24   static double          InSqrt(double p[4],double q[4]);
25   static complex<double> InProd_mass(double p1[4],double m1,int l1,double p2[4],double m2,int l2);
26   static complex<double> BsFactor(int s,double k[4],double p[4],double m);
27   static complex<double> WDecayEikonalKS_1ph(double p3[4],double p1[4],double p2[4],double k[4],int s);
28   static complex<double> SoftFactor(int s,double k[4],double p1[4],double m1,double p2[4],double m2,double Gmass2);
29   static complex<double> TrMatrix_zero(double p1[4],double m1,int l1,double k[4],int s,double p2[4],double m2,int l2);
30   static complex<double> TrMatrix_mass(double p1[4],double m1,int l1,double k[4],double m,int s,double p2[4],double m2,int l2);
31   static complex<double> WDecayBornAmpKS_1ph(double p3[4],int l3,double p1[4],int l1,double p2[4],int l2);
32   static complex<double> WDecayAmplitudeKS_1ph(double p3[4],int l3,double p1[4],int l1,double p2[4],int l2,double k[4],int s);
33
34 private:
35   // COMMON /Kleiss_Stirling/spV,bet
36   static double spV[4],bet[4];
37
38   // COMMON /mc_parameters/pi,sw,cw,alphaI,qb,mb,mf1,mf2,qf1,qf2,vf,af,mcLUN
39   static double pi,sw,cw,alphaI,qb,mb,mf1,mf2,qf1,qf2,vf,af,mcLUN;
40 };
41
42 } // namespace Photospp
43 #endif