70 }
else if(1 == aZ && 1 == anA) {
110 if(U <
delta0 || maxEnergy <= minEnergy) {
return 0.0; }
128 G4double Term1 = Beta*a1 - 1.5 + maxea;
129 G4double Term2 = (2.0*Beta*a1-3.0)*std::sqrt(maxea) + 2*maxea;
131 static const G4double explim = 350.;
132 G4double ExpTerm1 = (SystemEntropy <= explim) ?
G4Exp(-SystemEntropy) : 0.0;
134 G4double ExpTerm2 = 2.*std::sqrt(maxea) - SystemEntropy;
135 ExpTerm2 =
std::min(ExpTerm2, explim);
136 ExpTerm2 =
G4Exp(ExpTerm2);
138 Width = GlobalFactor*(Term1*ExpTerm1 + Term2*ExpTerm2);
169 if(E1 < 0.0) {
return 0.0; }
217 if (RbSqrt < 160.0) { PEX1 =
G4Exp(-RbSqrt); }
223 Rk = 1.0 + (1./RbSqrt)*
G4Log(RandNumber + (1.0-RandNumber)*PEX1);
228 Q1 = 1.0 + Beta/maxKinEnergy;
229 Q2 = Q1*std::sqrt(Q1);
232 static const G4double ssqr3 = 1.5*std::sqrt(3.0);
233 FRk = ssqr3 * Rk * (Q1 - Rk*Rk)/Q2;
234 if(nn > nmax) {
break; }
237 }
while (FRk < rndm->
flat());
239 T = maxKinEnergy * (1.0-Rk*Rk) + minKinEnergy;
244 G4cout <<
"###=== SampleEnergy: " <<
" Z= " <<
theZ
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4NuclearLevelData * fLevelData
G4double Z13(G4int Z) const
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int A, G4int resA)
static constexpr double hbar_Planck
static constexpr double MeV
static G4NuclearLevelData * GetInstance()
static constexpr double hbarc
G4PairingCorrection * fPairCorr
G4double TotalProbability(const G4Fragment &fragment, G4double minKineticEnergy, G4double maxKineticEnergy, G4double CoulombBarrier=0.0)
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int resA)
G4double GetGroundStateMass() const
G4double G4Log(G4double x)
G4double IntegrateProbability(G4double elow, G4double ehigh, G4double CB)
static constexpr double fermi
G4double CrossSection(G4double K, G4double CoulombBarrier)
void ResetIntegrator(size_t nbin, G4double de, G4double eps)
virtual G4double CalcBetaParam(const G4Fragment &fragment)=0
static constexpr double MeV
static constexpr double twopi
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4EvaporationProbability(G4int anA, G4int aZ, G4double aGamma, G4VCoulombBarrier *)
virtual G4double ComputeProbability(G4double K, G4double kBarrier)
virtual ~G4EvaporationProbability()
G4GLOB_DLL std::ostream G4cout
G4double GetPairingCorrection(G4int A, G4int Z) const
static G4double ComputePowerParameter(G4int resA, G4int idx)
virtual G4double EmissionProbability(const G4Fragment &fragment, G4double maxKineticEnergy)
G4double GetExcitationEnergy() const
G4double SampleKineticEnergy(G4double minKineticEnergy, G4double maxKineticEnergy, G4double CoulombBarrier=0.0)
static constexpr double pi
static constexpr double millibarn
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
virtual G4double CalcAlphaParam(const G4Fragment &fragment)=0