87 TETA = TETA / std::sinh(TETA);
108 for (
G4int i = 0; i < 50 && A1 > 30; i++) {
113 Z1 =
G4lrint(getZopt(A1, A2,
Z, X3, X4, R12) - 1.);
118 potentialMinimization(VPOT, EDEF1, VCOUL, A1, A2, Z1, Z2, AL1, BET1, R12);
130 G4double C1 = std::sqrt(getC2(A1, A2, X3, X4, R12) / TEM);
133 DZ = DZ > 0.0 ? DZ + 0.5 : -std::fabs(DZ - 0.5);
138 G4double EZ = (DMT1 + (DMT - DMT1) * TETA - VPOT + DEfin) / TEM;
140 if (EZ >= ALMA) ALMA = EZ;
141 G4double EK = VCOUL + DEfin + 0.5 * TEM;
144 if (EV > 0.0) fissionStore.
addConfig(A1, Z1, EZ, EK, EV);
149 if (store_size == 0)
return;
163 G4double pmod = std::sqrt(0.001 * EK * mass1 * mass2 / mass_in);
169 G4double EV = 1000.0 * (e_in - e_out) /
A;
170 if (EV <= 0.0)
return;
G4double randomGauss(G4double sigma)
void setVerboseLevel(G4int verbose=1)
G4double bindingEnergyAsymptotic(G4int A, G4int Z)
void setVectM(const Hep3Vector &spatial, double mass)
void getTargetData(const G4Fragment &target)
G4GLOB_DLL std::ostream G4cout
G4double getNucleiMass() const
G4FissionConfiguration generateConfiguration(G4double amax, G4double rand) const
G4LorentzVector generateWithRandomAngles(G4double p, G4double mass=0.)
void addConfig(G4double a, G4double z, G4double ez, G4double ek, G4double ev)
G4double G4cbrt(G4double x)
const G4Fragment & makeFragment(G4LorentzVector mom, G4int A, G4int Z, G4double EX=0.)
void addRecoilFragment(const G4Fragment *aFragment)
G4double bindingEnergy(G4int A, G4int Z)
G4double nucleiLevelDensity(G4int A)