90 if(idx < 0 || idx >= nShells) {
96 for(idx=0; idx<nShells; ++
idx) {
102 for(idx=0; idx<nShells; ++
idx) {
103 if(sum <=
prob[idx]) {
break; }
121 G4double ePotEnergy = bindingEnergy*(1.0 +
x);
123 G4double p = sqrt((e + electron_mass_c2)*(e - electron_mass_c2));
128 totEnergy += ePotEnergy;
129 totMomentum = sqrt((totEnergy + electron_mass_c2)
130 *(totEnergy - electron_mass_c2));
134 G4double eTotMomentum = sqrt(eKinEnergy*(eTotEnergy + electron_mass_c2));
136 G4double sintet = sqrt((1 - costet)*(1 + costet));
151 if(0.0 == bindingEnergy) { isOK =
true; }
155 G4double x0 = p*(totMomentum + eTotMomentum*costet);
164 G4double x2 = totEnergy*(eTotEnergy -
e) - e*eTotEnergy
165 - totMomentum*eTotMomentum*costet + electron_mass_c2*electron_mass_c2;
168 cost = -(x2 + x1*sqrt(1. - y*y))/x0;
169 if(
std::abs(cost) <= 1.0) { isOK =
true; }
186 G4double sint = sqrt((1 - cost)*(1 + cost));