75{
76 G4int anA = fragment->GetA_asInt();
77 G4int aZ = fragment->GetZ_asInt();
78 ResidualA = anA - A;
79 ResidualZ = aZ - Z;
80
81
82
83
84
85
86
87 EmissionProbability = 0.0;
88
89
90 if (ResidualA >= ResidualZ && ResidualZ >= 0 && ResidualA >= A) {
91
92
93 G4double ExEnergy = fragment->GetExcitationEnergy()
95 if(ExEnergy > 0.0) {
97 G4double FragmentMass = fragment->GetGroundStateMass();
98 G4double Etot = FragmentMass + ExEnergy;
99
100 CoulombBarrier =
102
103
104
105
106 if(Etot > ResidualMass + EvaporatedMass + CoulombBarrier) {
107
108
109 MaximalKineticEnergy = ((Etot-ResidualMass)*(Etot+ResidualMass)
110 + EvaporatedMass*EvaporatedMass)/(2.0*Etot)
111 - EvaporatedMass - CoulombBarrier;
112
113
114
115 if (MaximalKineticEnergy > 0.0) {
116
117 EmissionProbability = theEvaporationProbabilityPtr->
118 EmissionProbability(*fragment, MaximalKineticEnergy);
119 }
120 }
121 }
122 }
123
124 return EmissionProbability;
125}
G4PairingCorrection * GetPairingCorrection()
virtual G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const =0