Classes | Public Member Functions | Protected Attributes | List of all members
o2scl::nucmass_mnmsk Class Reference

Mass formula from Moller, Nix, Myers, Swiatecki and Kratz. More...

#include <nucmass_frdm.h>

Inheritance diagram for o2scl::nucmass_mnmsk:
o2scl::nucmass_table o2scl::nucmass o2scl::nucmass_info o2scl::nucmass_mnmsk_exp


struct  entry
 Entry structure for Moller, et al. masses. More...

Public Member Functions

virtual bool is_included (int Z, int N)
 Return false if the mass formula does not include specified nucleus.
virtual double mass_excess (int Z, int N)
 Given Z and N, return the mass excess in MeV.
nucmass_mnmsk::entry get_ZN (int l_Z, int l_N)
 Get the entry for the specified proton and neutron number. More...
double blank ()
 The value which corresponds to a blank entry.
double neither ()
 Neither beta+ or beta- is possible.
double beta_stable ()
 The value which corresponds to a blank entry.
double beta_plus_and_minus ()
 Both beta+ and beta- are possible.
double greater_100 ()
 The value is greater than 100.
double very_large ()
 The value is greater than $ 10^{20} $.
virtual const char * type ()
 Return the type, "nucmass_mnmsk".
int set_data (int n_mass, nucmass_mnmsk::entry *m, std::string ref)
 Set data. More...
- Public Member Functions inherited from o2scl::nucmass_table
virtual double mass_excess_d (double Z, double N)
 Given Z and N, return the mass excess in MeV.
- Public Member Functions inherited from o2scl::nucmass
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 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...

Protected Attributes

int n
 The number of entries (about 3000).
std::string reference
 The reference for the original data.
 The array containing the mass data of length ame::n.
int last
 The last table index for caching.
- 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.

Additional Inherited Members

- Public Attributes inherited from o2scl::nucmass
double m_neut
 Neutron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_neutron converted into MeV)
double m_prot
 Proton mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_proton converted into MeV)
double m_elec
 Electron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_electron converted into MeV)
double m_amu
 Atomic mass unit in $ \mathrm{MeV} $ (defaults to o2scl_mks::unified_atomic_mass converted into MeV)
- 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.
- Static Protected Attributes inherited from o2scl::nucmass_info
static const int nelements =119
 The number of elements (proton number)

Detailed Description

This is based on the tables given in Moller95 and Moller97. To load data from the O2scl HDF5 data files, use o2scl_hdf::mnmsk_load().

The data containing an object of type entry for 8979 nuclei is automatically loaded by the constructor. If the file (nucmass/mnmsk.o2) is not found, then is_loaded() will return false and all calls to get_ZN() will return an object with N=Z=0.

There are several entries in the original table which are blank because they are in some way not known, measured, or computable. To distinguish these values from zero, blank entries have been replaced by the number 1.0e99. For convenience, this value is returned by blank().

This class requires data stored in an HDF file and thus requires HDF support for normal usage.

Definition at line 284 of file nucmass_frdm.h.

Member Function Documentation

◆ get_ZN()

nucmass_mnmsk::entry o2scl::nucmass_mnmsk::get_ZN ( int  l_Z,
int  l_N 

This method searches the table using a cached binary search algorithm. It is assumed that the table is sorted first by proton number and then by neutron number.

◆ set_data()

int o2scl::nucmass_mnmsk::set_data ( int  n_mass,
nucmass_mnmsk::entry m,
std::string  ref 

This function is used by the HDF I/O routines.

The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).