41 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMacroNucleon::operator= meant to not be accessable");
48 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMacroNucleon::operator== meant to not be accessable");
55 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMacroNucleon::operator!= meant to not be accessable");
62 if (T <= 0.0)
throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMacroNucleon::CalcMeanMultiplicity: Temperature less or equal 0");
63 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
65 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
72 G4double exponent_proton = (mu+nu-Coulomb)/T;
75 if (exponent_neutron > 700.0) exponent_neutron = 700.0;
76 if (exponent_proton > 700.0) exponent_proton = 700.0;
78 _NeutronMeanMultiplicity = (degeneracy*FreeVol/lambda3)*std::exp(exponent_neutron);
80 _ProtonMeanMultiplicity = (degeneracy*FreeVol/lambda3)*std::exp(exponent_proton);
100 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
101 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
104 if (_NeutronMeanMultiplicity > 0.0)
105 NeutronEntropy = _NeutronMeanMultiplicity*(5./2.+
107 (lambda3*_NeutronMeanMultiplicity)));
111 if (_ProtonMeanMultiplicity > 0.0)
112 ProtonEntropy = _ProtonMeanMultiplicity*(5./2.+
114 (lambda3*_ProtonMeanMultiplicity)));
117 return NeutronEntropy+ProtonEntropy;
G4double CalcMeanMultiplicity(const G4double FreeVol, const G4double mu, const G4double nu, const G4double T)
G4double CalcEntropy(const G4double T, const G4double FreeVol)
G4double CalcEnergy(const G4double T)
static G4double GetKappaCoulomb()
G4double _MeanMultiplicity