55 theCoulombBarrierptr(aCoulombBarrier)
62 theCoulombBarrierptr(0)
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);
136 if (MaximalKineticEnergy <= limit) {
return 0.0; }
144 G4double UpperLimit = MaximalKineticEnergy;
150 std::ostringstream errOs;
151 errOs <<
"Bad option for cross sections at evaporation" <<
G4endl;
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)))
G4double EmissionProbability(const G4Fragment &fragment, G4double anEnergy)
G4double IntegrateEmissionProbability(const G4Fragment &aFragment, const G4double &Low, const G4double &Up)
G4EvaporationProbability()
G4double ProbabilityDistributionFunction(const G4Fragment &aFragment, G4double K)
G4EvaporationLevelDensityParameter * theEvapLDPptr
virtual G4double CalcBetaParam(const G4Fragment &fragment)=0
G4double GetPairingCorrection(G4int A, G4int Z) const
G4double GetGroundStateMass() const
virtual G4double CalcAlphaParam(const G4Fragment &fragment)=0
virtual ~G4EvaporationProbability()
T max(const T t1, const T t2)
brief Return the largest of the two arguments
static const double millibarn
G4double Z23(G4int Z) const
virtual G4double GetCoulombBarrier(G4int ARes, G4int ZRes, G4double U) const =0
G4double LevelDensityParameter(G4int A, G4int, G4double) const
G4PairingCorrection * fPairCorr
virtual G4double CrossSection(const G4Fragment &fragment, G4double K)=0
G4VCoulombBarrier * theCoulombBarrierptr
G4double ComputeGroundStateMass(G4int Z, G4int A) const
static const double fermi
G4double CalculateProbability(const G4Fragment &fragment, G4double MaximalKineticEnergy)
G4double GetExcitationEnergy() const