67 const G4int nlevels = 28;
68 const G4int listK[nlevels] = {
69 1, 2, 4, 6, 8, 11, 14, 17, 18, 21, 24,
70 26, 29, 32, 38, 40, 41, 44, 49, 53, 55,
71 60, 65, 70, 75, 81, 85, 92};
72 const G4double listKEnergy[nlevels] = {
73 0.00275, 0.011, 0.043, 0.098, 0.173, 0.326,
74 0.524, 0.765, 0.853, 1.146, 1.472,
75 1.708, 2.081, 2.475, 3.323, 3.627,
76 3.779, 4.237, 5.016, 5.647, 5.966,
77 6.793, 7.602, 8.421, 9.249, 10.222,
80 fKLevelEnergy[0] = 0.0;
81 fKLevelEnergy[1] = listKEnergy[0];
83 for(
G4int i=1; i<nlevels; ++i) {
84 G4int z1 = listK[idx];
90 for(
G4int z=z1+1; z<z2; ++z) {
91 fKLevelEnergy[z] = (y1 + (y2 - y1)*(z - z1)/dz)*z*z;
94 fKLevelEnergy[z2] = listKEnergy[i];
117 G4double mass = fMuMass * massA / (fMuMass + massA) ;
118 G4double e = 13.6 * eV * Z * Z * mass/ electron_mass_c2;
121 fLevelEnergy[0] = fKLevelEnergy[Z];
122 for(
G4int i = 2; i < 15; ++i) {
123 fLevelEnergy[i-1] = e/
G4double(i*i);
133 AddNewParticle(theElectron,edep);
142 if((nAuger < nElec) && ((pGamma + 10000.0) *
G4UniformRand() < 10000.0) ) {
144 deltaE = fLevelEnergy[nLevel-1] - fLevelEnergy[nLevel];
146 AddNewParticle(theElectron, deltaE);
154 G4int iLevel = nLevel - 1 ;
155 if(var > 10.0) iLevel -=
G4int(var-10.0) + 1;
156 if( iLevel < 0 ) iLevel = 0;
157 deltaE = fLevelEnergy[iLevel] - fLevelEnergy[nLevel];
159 AddNewParticle(theGamma, deltaE);
163 }
while( nLevel > 0 );
173 outFile <<
"Simulation of electromagnetic cascade from capture level"
174 <<
" to K-shell of the mesonic atom\n."
175 <<
"Probabilities of gamma and Auger transitions from\n"
176 <<
" N.C.Mukhopadhyay Phys. Rep. 30 (1977) 1.\n";
static G4Electron * Electron()
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
void ModelDescription(std::ostream &outFile) const
void SetStatusChange(G4HadFinalStateStatus aS)
void SetLocalEnergyDeposit(G4double aE)
G4double GetGlobalTime() const
static G4MuonMinus * MuonMinus()
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double GetPDGMass() const