137{
140
141 switch (bdt)
142 {
144 break;
145
147 {
148
149
153
154 G4double w = std::sqrt(1. + p_e*p_e);
155 factor = 1. + c1*w + c2/w + c3*w*w;
156 }
157 break;
158
160 {
161 G4double eta = alphaZ*std::sqrt(1. + p_e*p_e)/p_e;
162 G4double gamma1 = std::sqrt(4. - alphaZ*alphaZ);
163 G4double gamterm1 = Gamma(2.*gamma0+1.)/Gamma(2.*gamma1+1.);
164 G4double term1 = e_nu*e_nu*(1. + gamma0)/6.;
165 G4double term2 = 12.*(2. + gamma1)*p_e*p_e
166 *std::pow(twoPR, 2.*(gamma1-gamma0-1) )
167 *gamterm1*gamterm1
168 *ModSquared(gamma1, eta)/ModSquared(gamma0, eta);
169 factor = term1 + term2;
170 }
171 break;
172
174 break;
175
177 {
178 G4double eta = alphaZ*std::sqrt(1. + p_e*p_e)/p_e;
179 G4double gamma1 = std::sqrt(4. - alphaZ*alphaZ);
180 G4double gamma2 = std::sqrt(9. - alphaZ*alphaZ);
181 G4double gamterm0 = Gamma(2.*gamma0+1.);
182 G4double gamterm1 = gamterm0/Gamma(2.*gamma1+1.);
183 G4double gamterm2 = gamterm0/Gamma(2.*gamma2+1.);
184 G4double term1 = e_nu*e_nu*e_nu*e_nu*(1. + gamma0)/60.;
185
186 G4double term2 = 4.*(2. + gamma1)*e_nu*e_nu*p_e*p_e
187 *std::pow(twoPR, 2.*(gamma1-gamma0-1.) )
188 *gamterm1*gamterm1
189 *ModSquared(gamma1, eta)/ModSquared(gamma0, eta);
190
191 G4double term3 = 180.*(3.+gamma2)*p_e*p_e*p_e*p_e
192 *std::pow(twoPR, 2.*(gamma2-gamma0-2) )
193 *gamterm2*gamterm2
194 *ModSquared(gamma2, eta)/ModSquared(gamma0, eta);
195
196 factor = term1 + term2 + term3;
197 }
198 break;
199
201 break;
202
204 {
205 G4double eta = alphaZ*std::sqrt(1. + p_e*p_e)/p_e;
206 G4double gamma1 = std::sqrt(4. - alphaZ*alphaZ);
207 G4double gamma2 = std::sqrt(9. - alphaZ*alphaZ);
208 G4double gamma3 = std::sqrt(16. - alphaZ*alphaZ);
209 G4double gamterm0 = Gamma(2.*gamma0+1.);
210 G4double gamterm1 = gamterm0/Gamma(2.*gamma1+1.);
211 G4double gamterm2 = gamterm0/Gamma(2.*gamma2+1.);
212 G4double gamterm3 = gamterm0/Gamma(2.*gamma3+1.);
213
214 G4double term1 = e_nu*e_nu*e_nu*e_nu*e_nu*e_nu*(1. + gamma0)/1260.;
215
216 G4double term2 = 2.*(2. + gamma1)*e_nu*e_nu*e_nu*e_nu*p_e*p_e
217 *std::pow(twoPR, 2.*(gamma1-gamma0-1.) )
218 *gamterm1*gamterm1
219 *ModSquared(gamma1, eta)/ModSquared(gamma0, eta)/5.;
220
221 G4double term3 = 60.*(3.+gamma2)*p_e*p_e*p_e*p_e*e_nu*e_nu
222 *std::pow(twoPR, 2.*(gamma2-gamma0-2.) )
223 *gamterm2*gamterm2
224 *ModSquared(gamma2, eta)/ModSquared(gamma0, eta);
225
226 G4double term4 = 2240.*p_e*p_e*p_e*p_e*p_e*p_e*(4. + gamma3)
227 *std::pow(twoPR, 2.*(gamma3-gamma0-3.) )
228 *gamterm3*gamterm3
229 *ModSquared(gamma3, eta)/ModSquared(gamma0, eta);
230
231 factor = term1 + term2 + term3 + term4;
232 }
233 break;
234
235 default:
236 G4Exception(
"G4BetaDecayCorrections::ShapeFactor()",
"HAD_RDM_010",
238 "Transition not yet implemented - using allowed shape");
239 break;
240 }
241 return factor;
242}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)