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