39 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFFragment::copy_constructor meant to not be accessable");
47 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFFragment::operator= meant to not be accessable");
69 if (theZ <= 0.1)
return 0.0;
70 G4double Coulomb = (3./5.)*(elm_coupling*theZ*theZ)*
80 if (theA < 1 || theZ < 0 || theZ > theA) {
81 G4cerr <<
"G4StatMFFragment::GetEnergy: A = " << theA
82 <<
", Z = " << theZ <<
G4endl;
84 "G4StatMFFragment::GetEnergy: Wrong values for A and Z!");
87 static_cast<G4int>(theZ));
93 else SurfaceEnergy = (5./2.)*std::pow(theA,2.0/3.0)*T*T*
100 if (theA != 4) ExchangeEnergy += SurfaceEnergy;
111 if (theA == 1)
return 0.0;
120 G4double U = CalcExcitationEnergy(T);
134 if (theA <= 3)
return 0.0;
139 if (theA == 4)
return BulkEnergy;
149 return BulkEnergy + SurfaceEnergy;
G4DLLIMPORT std::ostream G4cerr
static G4double GetMassExcess(const G4int A, const G4int Z)
G4bool operator==(const G4StatMFFragment &right) const
G4double GetInvLevelDensity(void) const
G4Fragment * GetFragment(const G4double T)
G4StatMFFragment(G4int anA, G4int aZ)
G4double GetNuclearMass(void)
G4double GetEnergy(const G4double T) const
G4bool operator!=(const G4StatMFFragment &right) const
G4double GetCoulombEnergy(void) const
static G4double GetEpsilon0()
static G4double GetKappaCoulomb()
static G4double GetBeta0()
static G4double GetCriticalTemp()
static G4double DBetaDT(const G4double T)
static G4double Beta(const G4double T)