Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:44

0001 namespace AMEGIC {
0002 
0003   template <>
0004   inline Complex Basic_Yfunc::YT<+1,+1>(const int t1,const int t2,const Complex& cR,const Complex& cL)
0005   { return BS->Mu(t1)*cR*BS->Eta(t2)+BS->Mu(t2)*cL*BS->Eta(t1); }
0006 
0007   template <>
0008   inline Complex Basic_Yfunc::YT<-1,-1>(const int t1,const int t2,const Complex& cR,const Complex& cL)
0009   { return BS->Mu(t1)*cL*BS->Eta(t2)+BS->Mu(t2)*cR*BS->Eta(t1); }
0010 
0011   template <>
0012   inline Complex Basic_Yfunc::YT<+1,-1>(const int t1,const int t2,const Complex& cR,const Complex& cL)
0013   { return cL*BS->S0d(t1,t2); }
0014 
0015   template <>
0016   inline Complex Basic_Yfunc::YT<-1,+1>(const int t1,const int t2,const Complex& cR,const Complex& cL)
0017   { return cR*BS->S1d(t1,t2); }
0018 
0019   template <>
0020   inline Complex Basic_Xfunc::XT<+1,+1>(const int t1,const int t2,const int t3,const Complex& cR,const Complex& cL)
0021   {   return cL*BS->Eta(t2)*BS->Eta(t2)*BS->Mu(t1)*BS->Mu(t3)+
0022              cR*(BS->Eta(t1)*BS->Eta(t3)*BS->Mu(t2)*BS->Mu(t2)+
0023              BS->S0d(t1,t2)*BS->S1d(t2,t3));
0024   }
0025   
0026   template <>
0027   inline Complex Basic_Xfunc::XT<-1,-1>(const int t1,const int t2,const int t3,const Complex& cR,const Complex& cL)
0028   { return cR*BS->Eta(t2)*BS->Eta(t2)*BS->Mu(t1)*BS->Mu(t3)+
0029            cL*(BS->Eta(t1)*BS->Eta(t3)*BS->Mu(t2)*BS->Mu(t2)+
0030                BS->S1d(t1,t2)*BS->S0d(t2,t3));
0031   }
0032 
0033   template <>
0034   inline Complex Basic_Xfunc::XT<+1,-1>(const int t1,const int t2,const int t3,const Complex& cR,const Complex& cL)
0035   { 
0036     return BS->Eta(t2)*(cL*BS->Mu(t1)*BS->S0d(t2,t3)+
0037                         cR*BS->Mu(t3)*BS->S0d(t1,t2));
0038   }
0039   
0040   template <>
0041   inline Complex  Basic_Xfunc::XT<-1,+1>(const int t1,const int t2,const int t3,const Complex& cR,const Complex& cL)
0042   { return BS->Eta(t2)*(cR*BS->Mu(t1)*BS->S1d(t2,t3)+
0043                         cL*BS->Mu(t3)*BS->S1d(t1,t2));
0044   } 
0045 
0046 //massive ZT's
0047 
0048 template<>
0049 inline Complex Basic_Zfunc::ZTM<+1,+1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0050                      const Complex& cR1,const Complex& cL1,
0051                      const Complex& cR2,const Complex& cL2) {
0052   return -2.*(BS->S0d(t3,t1)*BS->S1d(t4,t2)*cR1*cR2
0053           -BS->Mu(t1)*BS->Mu(t2)*BS->Eta(t3)*BS->Eta(t4)*cR2*cL1
0054           -BS->Mu(t3)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t2)*cR1*cL2);
0055 }
0056 
0057 
0058 template<>
0059 inline Complex Basic_Zfunc::ZTM<-1,-1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0060                      const Complex& cR1,const Complex& cL1,
0061                      const Complex& cR2,const Complex& cL2) {
0062   return -2.*( BS->S1d(t3,t1)*BS->S0d(t4,t2)*cL1*cL2
0063           -BS->Mu(t1)*BS->Mu(t2)*BS->Eta(t3)*BS->Eta(t4)*cL2*cR1
0064           -BS->Mu(t3)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t2)*cL1*cR2);
0065 }
0066 
0067 template<>
0068 inline Complex Basic_Zfunc::ZTM<+1,+1,+1,-1>(const int t1,const int t2,const int t3,const int t4,
0069                      const Complex& cR1,const Complex& cL1,
0070                      const Complex& cR2,const Complex& cL2) {
0071   return -2.*BS->Eta(t2)*cR1*( BS->S0d(t4,t1)*BS->Mu(t3)*cL2 -
0072                    BS->S0d(t3,t1)*BS->Mu(t4)*cR2 );
0073 }
0074 
0075 template<>
0076 inline Complex Basic_Zfunc::ZTM<+1,+1,-1,+1>(const int t1,const int t2,const int t3,const int t4,
0077                      const Complex& cR1,const Complex& cL1,
0078                      const Complex& cR2,const Complex& cL2) {
0079   return -2.*BS->Eta(t1)*cR1*( BS->S1d(t2,t3)*BS->Mu(t4)*cL2 -
0080                    BS->S1d(t2,t4)*BS->Mu(t3)*cR2 );
0081 }
0082 
0083 template<>
0084 inline Complex Basic_Zfunc::ZTM<+1,-1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0085                      const Complex& cR1,const Complex& cL1,
0086                      const Complex& cR2,const Complex& cL2) {
0087   return -2.*BS->Eta(t4)*cR2*( BS->S0d(t3,t1)*BS->Mu(t2)*cR1 -
0088                    BS->S0d(t3,t2)*BS->Mu(t1)*cL1 );
0089 }
0090 
0091 template<>
0092 inline Complex Basic_Zfunc::ZTM<-1,+1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0093                      const Complex& cR1,const Complex& cL1,
0094                      const Complex& cR2,const Complex& cL2) {
0095   return -2.*BS->Eta(t3)*cR2*( BS->S1d(t2,t4)*BS->Mu(t1)*cR1 -
0096                    BS->S1d(t1,t4)*BS->Mu(t2)*cL1 );
0097 }
0098 
0099 template<>
0100 inline Complex Basic_Zfunc::ZTM<-1,-1,-1,+1>(const int t1,const int t2,const int t3,const int t4,
0101                      const Complex& cR1,const Complex& cL1,
0102                      const Complex& cR2,const Complex& cL2) {
0103   return -2.*BS->Eta(t2)*cL1*( BS->S1d(t4,t1)*BS->Mu(t3)*cR2 -
0104                    BS->S1d(t3,t1)*BS->Mu(t4)*cL2 );
0105 }
0106 
0107 template<>
0108 inline Complex Basic_Zfunc::ZTM<-1,-1,+1,-1>(const int t1,const int t2,const int t3,const int t4,
0109                      const Complex& cR1,const Complex& cL1,
0110                      const Complex& cR2,const Complex& cL2) {
0111   return -2.*BS->Eta(t1)*cL1*( BS->S0d(t2,t3)*BS->Mu(t4)*cR2 -
0112                    BS->S0d(t2,t4)*BS->Mu(t3)*cL2 );
0113 }
0114 
0115 template<>
0116 inline Complex Basic_Zfunc::ZTM<-1,+1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0117                      const Complex& cR1,const Complex& cL1,
0118                      const Complex& cR2,const Complex& cL2) {
0119   return -2.*BS->Eta(t4)*cL2*( BS->S1d(t3,t1)*BS->Mu(t2)*cL1 -
0120                    BS->S1d(t3,t2)*BS->Mu(t1)*cR1 );
0121 }
0122 
0123 template<>
0124 inline Complex Basic_Zfunc::ZTM<+1,-1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0125                      const Complex& cR1,const Complex& cL1,
0126                      const Complex& cR2,const Complex& cL2) {
0127   return -2.*BS->Eta(t3)*cL2*( BS->S0d(t2,t4)*BS->Mu(t1)*cL1 -
0128                    BS->S0d(t1,t4)*BS->Mu(t2)*cR1 );
0129 }
0130 
0131 template<>
0132 inline Complex Basic_Zfunc::ZTM<+1,-1,-1,+1>(const int t1,const int t2,const int t3,const int t4,
0133                      const Complex& cR1,const Complex& cL1,
0134                      const Complex& cR2,const Complex& cL2) {
0135   return -2.*(BS->Mu(t1)*BS->Mu(t4)*BS->Eta(t2)*BS->Eta(t3)*cL2*cL1 +
0136           BS->Mu(t2)*BS->Mu(t3)*BS->Eta(t1)*BS->Eta(t4)*cR2*cR1 -
0137           BS->Mu(t1)*BS->Mu(t3)*BS->Eta(t2)*BS->Eta(t4)*cR2*cL1 -
0138           BS->Mu(t2)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t3)*cL2*cR1);
0139 }
0140 
0141 template<>
0142 inline Complex Basic_Zfunc::ZTM<-1,+1,+1,-1>(const int t1,const int t2,const int t3,const int t4,
0143                      const Complex& cR1,const Complex& cL1,
0144                      const Complex& cR2,const Complex& cL2) {
0145   return -2.*(BS->Mu(t1)*BS->Mu(t4)*BS->Eta(t2)*BS->Eta(t3)*cR2*cR1 +
0146           BS->Mu(t2)*BS->Mu(t3)*BS->Eta(t1)*BS->Eta(t4)*cL2*cL1 -
0147           BS->Mu(t1)*BS->Mu(t3)*BS->Eta(t2)*BS->Eta(t4)*cL2*cR1 -
0148           BS->Mu(t2)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t3)*cR2*cL1);
0149 }
0150 
0151 template<>
0152 inline Complex Basic_Zfunc::ZTM<+1,-1,+1,-1>(const int t1,const int t2,const int t3,const int t4,
0153                      const Complex& cR1,const Complex& cL1,
0154                      const Complex& cR2,const Complex& cL2) {
0155   return Complex(0.,0.);
0156 }
0157 
0158 template<>
0159 inline Complex Basic_Zfunc::ZTM<-1,+1,-1,+1>(const int t1,const int t2,const int t3,const int t4,
0160                      const Complex& cR1,const Complex& cL1,
0161                      const Complex& cR2,const Complex& cL2) {
0162   return Complex(0.,0.);
0163 }
0164 
0165 template<>
0166 inline Complex Basic_Zfunc::ZTM<+1,+1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0167                      const Complex& cR1,const Complex& cL1,
0168                      const Complex& cR2,const Complex& cL2) {
0169   return -2.*(BS->S0d(t1,t4)*BS->S1d(t2,t3)*cL2*cR1
0170           -BS->Mu(t1)*BS->Mu(t2)*BS->Eta(t3)*BS->Eta(t4)*cL2*cL1
0171           -BS->Mu(t3)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t2)*cR2*cR1);
0172 }
0173 
0174 template<>
0175 inline Complex Basic_Zfunc::ZTM<-1,-1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0176                      const Complex& cR1,const Complex& cL1,
0177                      const Complex& cR2,const Complex& cL2) {
0178   return -2.*(BS->S1d(t1,t4)*BS->S0d(t2,t3)*cR2*cL1
0179           -BS->Mu(t1)*BS->Mu(t2)*BS->Eta(t3)*BS->Eta(t4)*cR2*cR1
0180           -BS->Mu(t3)*BS->Mu(t4)*BS->Eta(t1)*BS->Eta(t2)*cL2*cL1);
0181 }
0182 
0183 //massless ZT's
0184 
0185 template<>
0186 inline Complex Basic_Zfunc::ZT<+1,+1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0187                      const Complex& cR1,const Complex& cL1,
0188                      const Complex& cR2,const Complex& cL2) {
0189   return -2.*BS->S0d(t3,t1)*BS->S1d(t4,t2)*cR1*cR2;
0190 }
0191 
0192 template<>
0193 inline Complex Basic_Zfunc::ZT<-1,-1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0194                      const Complex& cR1,const Complex& cL1,
0195                      const Complex& cR2,const Complex& cL2) {
0196   return -2.*BS->S1d(t3,t1)*BS->S0d(t4,t2)*cL1*cL2;
0197 }
0198 
0199 template<>
0200 inline Complex Basic_Zfunc::ZT<+1,+1,-1,-1>(const int t1,const int t2,const int t3,const int t4,
0201                      const Complex& cR1,const Complex& cL1,
0202                      const Complex& cR2,const Complex& cL2) {
0203   return -2.*BS->S0d(t1,t4)*BS->S1d(t2,t3)*cL2*cR1;
0204 }
0205 
0206 template<>
0207 inline Complex Basic_Zfunc::ZT<-1,-1,+1,+1>(const int t1,const int t2,const int t3,const int t4,
0208                      const Complex& cR1,const Complex& cL1,
0209                      const Complex& cR2,const Complex& cL2) {
0210   return -2.*BS->S1d(t1,t4)*BS->S0d(t2,t3)*cR2*cL1;
0211 }
0212 
0213 
0214 
0215 }
0216