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");
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);
101 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
104 if (_NeutronMeanMultiplicity > 0.0)
105 NeutronEntropy = _NeutronMeanMultiplicity*(5./2.+
106 std::log(2.0*static_cast<G4double>(
theA)*FreeVol/
107 (lambda3*_NeutronMeanMultiplicity)));
111 if (_ProtonMeanMultiplicity > 0.0)
112 ProtonEntropy = _ProtonMeanMultiplicity*(5./2.+
113 std::log(2.0*static_cast<G4double>(
theA)*FreeVol/
114 (lambda3*_ProtonMeanMultiplicity)));
117 return NeutronEntropy+ProtonEntropy;