Nuclear mass formula base [abstract base]. More...
#include <nucmass.h>
Public Member Functions  
virtual const char *  type () 
Return the type, "nucmass" .  
virtual bool  is_included (int Z, int N) 
Return false if the mass formula does not include specified nucleus.  
virtual int  get_nucleus (int Z, int N, nucleus &n) 
Fill n with the information from nucleus with the given neutron and proton number. More...  
virtual double  mass_excess (int Z, int N)=0 
Given Z and N , return the mass excess in MeV [abstract].  
virtual double  mass_excess_d (double Z, double N)=0 
Given Z and N , return the mass excess in MeV [abstract].  
virtual double  electron_binding (double Z) 
Return the approximate electron binding energy in MeV.  
virtual double  binding_energy (int Z, int N) 
Return the binding energy in MeV. More...  
virtual double  binding_energy_d (double Z, double N) 
Return the binding energy in MeV. More...  
virtual double  total_mass (int Z, int N) 
Return the total mass of the nucleus (without the electrons) in MeV.  
virtual double  total_mass_d (double Z, double N) 
Return the total mass of the nucleus (without the electrons) in MeV.  
virtual double  atomic_mass (int Z, int N) 
Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy)  
virtual double  atomic_mass_d (double Z, double N) 
Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy)  
Public Member Functions inherited from o2scl::nucmass_info  
int  parse_elstring (std::string ela, int &Z, int &N, int &A) 
Parse a string representing an element. More...  
int  eltoZ (std::string el) 
Return Z given the element name abbreviation. More...  
std::string  Ztoel (size_t Z) 
Return the element name abbreviation given Z. More...  
std::string  tostring (size_t Z, size_t N) 
Return a string of the form "Pb208" for a given Z and N. More...  
Public Attributes  
Base masses  
double  m_neut 
Neutron mass in (defaults to o2scl_mks::mass_neutron converted into MeV)  
double  m_prot 
Proton mass in (defaults to o2scl_mks::mass_proton converted into MeV)  
double  m_elec 
Electron mass in (defaults to o2scl_mks::mass_electron converted into MeV)  
double  m_amu 
Atomic mass unit in (defaults to o2scl_mks::unified_atomic_mass converted into MeV)  
Additional Inherited Members  
Protected Types inherited from o2scl::nucmass_info  
typedef std::map< std::string, int, std::greater< std::string > >::iterator  table_it 
A convenient typedef for an iterator for element_table.  
Protected Attributes inherited from o2scl::nucmass_info  
std::map< std::string, int, std::greater< std::string > >  element_table 
A map containing the proton numbers organized by element abbreviation.  
std::string  element_list [nelements] 
The list of elements organized by proton number.  
Static Protected Attributes inherited from o2scl::nucmass_info  
static const int  nelements =119 
The number of elements (proton number)  
(See also the discussion in Nuclei and nuclear masses.)
This is abstract base class for the nuclear mass formulas. Some mass formulas are undefined for sufficiently exotic nuclei. You can use the function is_included() to find if a particular nucleus is included or not in a particular mass formula.
The quantities below are returned in units of MeV. The functions include a version which takes Z and N as integers and a version with a suffix "_d"
which takes Z and N as doubleprecision numbers.
The mass excess is given by mass_excess() and mass_excess_d() .
Binding energies (binding_energy() and binding_energy_d() ) are determined from mass excesses by
The neutron, proton, and electron masses and atomic mass unit are stored in m_prot, m_neut, m_elec, and m_amu . By default, this are assigned to the values in o2scl_mks times o2scl_const::hc_mev_fm , but these default values are modified in the constructors of some children classes.
Total masses, as returned by total_mass() and total_mass_d() , are the mass of the nuclide without the electron mass or binding energy contribution
Atomic masses are the total mass with the electron mass and binding energy contributions (see atomic_mass() and atomic_mass_d() ). Electron binding energies are computed in electron_binding() and approximated with
as in Eq. A4 of Lunney03 .
Generally, descendants of this class only need to provide an implementation of mass_excess() and mass_excess_d() and possibly a new version of is_included() to be fully functional.

inlinevirtual 
The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb208 is about 8*208 = 1664 MeV.
Reimplemented in o2scl::nucmass_dz_fit_33, and o2scl::nucmass_dz_fit.

inlinevirtual 
The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb208 is about 8*208 = 1664 MeV.
Reimplemented in o2scl::nucmass_dz_fit_33, and o2scl::nucmass_dz_fit.

virtual 
All masses are given in . The total mass (withouth the electrons) is put in part::m and part::ms, the binding energy is placed in nucleus::be, the mass excess in nucleus::mex and the degeneracy (part::g) is arbitrarily set to 1 for even A nuclei and 2 for odd A nuclei.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).