55 theCoulombBarrierptr(aCoulombBarrier)
62 theCoulombBarrierptr(0)
75 probability = CalculateProbability(fragment, anEnergy);
85 G4EvaporationProbability::CalculateProbability(
const G4Fragment & fragment,
99 G4double SystemEntropy = 2.0*std::sqrt(
108 G4double Rmax = MaximalKineticEnergy;
110 G4double GlobalFactor = Gamma * Alpha/(a*
a) *
111 (NuclearMass*RN*RN*
fG4pow->
Z23(ResidualA))/
113 G4double Term1 = (2.0*Beta*a-3.0)/2.0 + Rmax*
a;
114 G4double Term2 = (2.0*Beta*a-3.0)*std::sqrt(Rmax*a) + 2.0*a*Rmax;
117 if (SystemEntropy <= 600.0) { ExpTerm1 = std::exp(-SystemEntropy); }
119 G4double ExpTerm2 = 2.*std::sqrt(a*Rmax) - SystemEntropy;
120 if (ExpTerm2 > 700.0) { ExpTerm2 = 700.0; }
121 ExpTerm2 = std::exp(ExpTerm2);
123 G4double Width = GlobalFactor*(Term1*ExpTerm1 + Term2*ExpTerm2);
133 limit = std::max(limit,theCoulombBarrierptr->
GetCoulombBarrier(ResidualA,ResidualZ,U));
136 if (MaximalKineticEnergy <= limit) {
return 0.0; }
144 G4double UpperLimit = MaximalKineticEnergy;
146 G4double Width = IntegrateEmissionProbability(fragment,LowerLimit,UpperLimit);
150 std::ostringstream errOs;
151 errOs <<
"Bad option for cross sections at evaporation" <<
G4endl;
160 IntegrateEmissionProbability(
const G4Fragment & fragment,
163 static const G4int N = 10;
193 for (
G4int i = 0; i <
N; i++)
196 G4double KineticE = ((Up-Low)*x[i]+(Up+Low))/2.0;
201 Total *= (Up-Low)/2.0;
232 G4double theSeparationEnergy = ParticleMass + ResidualMass
240 U - theSeparationEnergy - delta1);
245 G4double E1 = U - theSeparationEnergy - delta1 - K;
247 if (E1<0.) {
return 0.; }
258 G4double Prob = pcoeff*Gamma*ParticleMass*std::exp(2*(std::sqrt(a1*E1) - std::sqrt(a0*E0)))