77 G4double lambdac = GetMuonCaptureRate(Z, A);
78 G4double lambdad = GetMuonDecayRate(Z);
98 G4double xmax = 1 + electron_mass_c2*electron_mass_c2/(fMuMass*fMuMass);
99 G4double xmin = 2.0*electron_mass_c2/fMuMass;
106 G4double pmu = std::sqrt(KEnergy*(KEnergy + 2.0*fMuMass));
119 Eelect = x*fMuMass*0.5;
121 if(Eelect > electron_mass_c2) {
122 Pelect = std::sqrt(Eelect*Eelect - electron_mass_c2*electron_mass_c2);
125 Eelect = electron_mass_c2;
130 Eelect = EL.
e() - electron_mass_c2 - 2.0*KEnergy;
136 }
while (Eelect < 0.0 || ecm < 0.0);
145 AddNewParticle(dp, time);
149 ecm = 0.5*std::sqrt(ecm);
155 AddNewParticle(dp, time);
158 AddNewParticle(dp, time);
169 1.,1.98,2.95,3.89,4.8,5.72,6.61,7.49,8.32,9.12,9.95,10.69,11.48,12.22,
170 12.91,13.64,14.24,14.89,15.53,16.15,16.75,17.38,18.04,18.49,
171 19.06,19.59,20.1,20.66,21.12,21.61,22.02,22.43,22.84,23.24,
172 23.65,24.06,24.47,24.85,25.23,25.61,25.99,26.37,26.69,27.,
173 27.32,27.63,27.95,28.2,28.42,28.64,28.79,29.03,29.27,29.51,
174 29.75,29.99,30.2,30.36,30.53,30.69,30.85,31.01,31.18,31.34,
175 31.48,31.62,31.76,31.9,32.05,32.19,32.33,32.47,32.61,32.76,
176 32.94,33.11,33.29,33.46,33.64,33.81,34.21,34.18,34.,34.1,
177 34.21,34.31,34.42,34.52,34.63,34.73,34.84,34.94,35.04,35.15,
178 35.25,35.36,35.46,35.57,35.67,35.78 };
185 const size_t ListZE = 67;
186 static G4int ListZExp[ListZE] = { 1, 2,
187 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
188 13, 14, 15, 16, 17, 18, 19, 20, 22, 23,
189 24, 25, 26, 27, 28, 31, 32, 33, 34, 37,
190 38, 39, 40, 41, 42, 45, 46, 47, 48, 49,
191 50, 51, 52, 53, 55, 56, 57, 58, 59, 60,
192 62, 64, 65, 67, 72, 73, 74, 80, 81, 82,
195 static G4double ListCaptureVel[ListZE] = { 0.000725, 0.000356,
196 0.0057, 0.010, 0.0258, 0.0371, 0.0644,
197 0.0974, 0.144, 0.250, 0.386, 0.479,
198 0.700, 0.849, 1.119, 1.338, 1.40,
199 1.30, 1.98, 2.45, 2.60, 3.19,
200 3.29, 3.91, 4.41, 4.96, 5.74,
201 5.68, 5.53, 6.06, 5.69, 6.89,
202 7.25, 7.89, 8.59, 10.40, 9.22,
203 10.01, 10.00, 10.88, 10.62, 11.37,
204 10.68, 10.49, 9.06, 11.20, 10.98,
205 10.18, 10.71, 11.44, 13.45, 12.32,
206 12.22, 12.09, 12.73, 12.95, 13.03,
207 12.86, 13.13, 13.39, 12.74, 13.78,
208 13.02, 13.26, 13.10, 14.00, 14.70};
220 if(i > 100) { i = 100; }
230 xmu = zeff2 * 2.663e-5;
233 lambda = t1 * zeff2 * zeff2 * (r2 * r2) * (1.0 - (1.0 - xmu) * .75704) *
234 (a2ze * b0a + 1.0 - (a2ze - 1.0) * b0b -
235 (2 * (A - Z) + std::fabs(a2ze - 1.) ) * b0c /
G4double(A * 4) );
238 for (
size_t j = 0; j < ListZE; ++j) {
239 if( ListZExp[j] == i + 1) {
240 lambda = ListCaptureVel[j] / microsecond;
257 G4double x = Z*fine_structure_const;
259 if( 0.5 > lambda ) {
lambda = 0.5; }
265 return lambda * 0.445164 / microsecond;
272 outFile <<
"Sample probabilities of mu- nuclear capture of decay"
273 <<
" from K-shell orbit.\n"
274 <<
" Time of projectile is changed taking into account life time"
275 <<
" of muonic atom.\n"
276 <<
" If decay is sampled primary state become stopAndKill,"
277 <<
" else - isAlive.\n"
278 <<
"Based of reviews:\n"
279 <<
" N.C.Mukhopadhyay Phy. Rep. 30 (1977) 1.\n"
280 <<
" B.B.Balashov, G.Ya.Korenman, P.A.Eramgan, Atomizdat, 1978.\n";
CLHEP::HepLorentzVector G4LorentzVector
G4ThreeVector G4RandomDirection()
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
static G4AntiNeutrinoE * AntiNeutrinoE()
static G4Electron * Electron()
void SetStatusChange(G4HadFinalStateStatus aS)
G4double GetBoundEnergy() const
void SetGlobalTime(G4double t)
void ModelDescription(std::ostream &outFile) const
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
static G4MuonMinus * MuonMinus()
static G4NeutrinoMu * NeutrinoMu()
G4double GetPDGMass() const