57 if (std::fabs(A -
G4int(A)) > 1.e-10) {
90 if (A < 1 || Z < 0 || Z > A) {
93 G4cout <<
"G4NucleiProperties::GetNuclearMass: Wrong values for A = " << A
94 <<
" and Z = " << Z <<
G4endl;
103 if ( (Z==1)&&(A==1) ) {
105 }
else if ( (Z==0)&&(A==1) ) {
107 }
else if ( (Z==1)&&(A==2) ) {
109 }
else if ( (Z==1)&&(A==3) ) {
111 }
else if ( (Z==2)&&(A==4) ) {
113 }
else if ( (Z==2)&&(A==3) ) {
130 if (mass < 0.) mass = 0.0;
143 if (A < 1 || Z < 0 || Z > A) {
146 G4cout <<
"G4NucleiProperties::IsInStableTable: Wrong values for A = "
147 << A <<
" and Z = " << Z <<
G4endl;
166 if (A < 1 || Z < 0 || Z > A) {
169 G4cout <<
"G4NucleiProperties::GetMassExccess: Wrong values for A = "
170 << A <<
" and Z = " << Z <<
G4endl;
191 if (A < 1 || Z < 0 || Z > A) {
194 G4cout <<
"G4NucleiProperties::GetAtomicMass: Wrong values for A = "
195 << A <<
" and Z = " << Z <<
G4endl;
200 }
else if (std::fabs(A -
G4int(A)) > 1.e-10) {
225 if (A < 1 || Z < 0 || Z > A) {
228 G4cout <<
"G4NucleiProperties::GetMassExccess: Wrong values for A = "
229 << A <<
" and Z = " << Z <<
G4endl;
258 (A-Z)*neutron_mass_excess + Z*hydrogen_mass_excess -
BindingEnergy(A,Z) + A*amu_c2;
265 if (A < 1 || Z < 0 || Z > A) {
268 G4cout <<
"G4NucleiProperties::NuclearMass: Wrong values for A = "
269 << A <<
" and Z = " << Z <<
G4endl;
277 mass -= Z*electron_mass_c2;
278 mass += ( 14.4381*std::pow ( Z , 2.39 ) + 1.55468*1e-6*std::pow ( Z , 5.35 ) )*
eV;
292 + 17.23*std::pow(A,2./3.)
293 + 93.15*((A/2.-Z)*(A/2.-Z))/A
294 + 0.6984523*Z*Z*std::pow(A,-1./3.);
295 if( Npairing == Zpairing ) binding += (Npairing+Zpairing-1) * 12.0 / std::sqrt(A);
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ThreadLocal G4double mass_deuteron
static G4bool IsInTable(G4int Z, G4int A)
static G4double AtomicMass(G4double A, G4double Z)
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetAtomicMass(const G4double A, const G4double Z)
static G4double BindingEnergy(G4double A, G4double Z)
static G4ThreadLocal G4double mass_neutron
static G4double GetMassExcess(const G4int A, const G4int Z)
static G4double GetNuclearMass(G4int Z, G4int A)
G4GLOB_DLL std::ostream G4cout
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4double NuclearMass(G4double A, G4double Z)
static G4ThreadLocal G4double mass_triton
static G4ThreadLocal G4double mass_proton
static bool IsInStableTable(const G4double A, const G4double Z)
static G4double GetMassExcess(G4int Z, G4int A)
static G4double GetNuclearMass(G4int Z, G4int A)
static G4double GetBindingEnergy(G4int Z, G4int A)
static const G4double A[nN]
static G4ThreadLocal G4double mass_He3
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
static G4double GetBindingEnergy(const G4int A, const G4int Z)
static G4bool IsInTable(G4int Z, G4int A)
static G4ThreadLocal G4double mass_alpha
static G4double GetMassExcess(G4int Z, G4int A)
static G4double MassExcess(G4double A, G4double Z)