55 theCoulombBarrierptr(aCoulombBarrier)
62 theCoulombBarrierptr(0)
75 probability = CalculateProbability(fragment, anEnergy);
85G4EvaporationProbability::CalculateProbability(
const G4Fragment & fragment,
99 G4double SystemEntropy = 2.0*std::sqrt(
108 G4double Rmax = MaximalKineticEnergy;
111 (NuclearMass*RN*RN*
fG4pow->
Z23(ResidualA))/
112 (twopi* hbar_Planck*hbar_Planck);
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;
160IntegrateEmissionProbability(
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.; }
255 static const G4double pcoeff = millibarn/((pi*hbarc)*(pi*hbarc));
258 G4double Prob = pcoeff*Gamma*ParticleMass*std::exp(2*(std::sqrt(a1*E1) - std::sqrt(a0*E0)))
G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const
G4double EmissionProbability(const G4Fragment &fragment, G4double anEnergy)
G4EvaporationProbability()
virtual G4double CalcAlphaParam(const G4Fragment &fragment)=0
virtual G4double CalcBetaParam(const G4Fragment &fragment)=0
virtual ~G4EvaporationProbability()
G4double ProbabilityDistributionFunction(const G4Fragment &aFragment, G4double K)
virtual G4double CrossSection(const G4Fragment &fragment, G4double K)=0
G4double GetGroundStateMass() const
G4double GetExcitationEnergy() const
G4double ComputeGroundStateMass(G4int Z, G4int A) const
G4double GetPairingCorrection(G4int A, G4int Z) const
virtual G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const =0
G4PairingCorrection * fPairCorr
G4EvaporationLevelDensityParameter * theEvapLDPptr