Mass formula from Moller, Nix, Myers, Swiatecki and Kratz. More...
#include <nucmass_frdm.h>
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().
Definition at line 285 of file nucmass_frdm.h.
Classes | |
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 ![]() | |
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... | |
![]() | |
virtual double | mass_excess_d (double Z, double N) |
Given Z and N , return the mass excess in MeV. | |
![]() | |
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) | |
![]() | |
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. | |
nucmass_mnmsk::entry * | mass |
The array containing the mass data of length ame::n. | |
int | last |
The last table index for caching. | |
![]() | |
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 | |
![]() | |
double | m_neut |
Neutron mass in ![]() | |
double | m_prot |
Proton mass in ![]() | |
double | m_elec |
Electron mass in ![]() | |
double | m_amu |
Atomic mass unit in ![]() | |
![]() | |
typedef std::map< std::string, int, std::greater< std::string > >::iterator | table_it |
A convenient typedef for an iterator for element_table. | |
![]() | |
static const int | nelements =119 |
The number of elements (proton number) | |
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.
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.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).