212{
213 G4int ResidualA = fragment.GetA_asInt() - theA;
214 G4int ResidualZ = fragment.GetZ_asInt() - theZ;
215 G4double U = fragment.GetExcitationEnergy();
216
217
218
219
220
221
222
224
226 fragment.GetZ_asInt());
227
228
229 G4double ParticleMass = fragment.ComputeGroundStateMass(theZ,theA);
230 G4double ResidualMass = fragment.ComputeGroundStateMass(ResidualZ,ResidualA);
231
232 G4double theSeparationEnergy = ParticleMass + ResidualMass
233 - fragment.GetGroundStateMass();
234
236 fragment.GetZ_asInt(),
237 U - delta0);
238
240 U - theSeparationEnergy - delta1);
241
242
244
245 G4double E1 = U - theSeparationEnergy - delta1 - K;
246
247 if (E1<0.) { return 0.; }
248
249
250
251
252
253
254
255 static const G4double pcoeff = millibarn/((
pi*hbarc)*(pi*hbarc));
256
257
258 G4double Prob = pcoeff*Gamma*ParticleMass*std::exp(2*(std::sqrt(a1*E1) - std::sqrt(a0*E0)))
260
261 return Prob;
262}
G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const
virtual G4double CrossSection(const G4Fragment &fragment, G4double K)=0
G4double GetPairingCorrection(G4int A, G4int Z) const
G4PairingCorrection * fPairCorr
G4EvaporationLevelDensityParameter * theEvapLDPptr