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
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
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