![]() |
Particles and Nuclei Sub-Library: Version 0.910
|
Mass formula from the Atomic Mass Evaluation (2005 and 1993) More...
#include <nuclear_mass.h>
This class provides an interface to the atomic mass table using data from Audi95 and Audi03.
There are four data sets, selected by the specification of the version
string in the constructor.
If any string other than these four is used, the default data is loaded. If the constructor cannot find the data file (e.g. because of a broken installation), then ame::is_loaded() returns false.
The 1995 data provided the binding energy stored in ame_entry::be and ame_entry::dbe, while the 2003 data provided the binding energy divided by the atomic number stored in ame_entry::beoa and ame_entry::dbeoa. When the 1995 data is used ame_entry::beoa and ame_entry::dbeoa are calculated automatically, and when the 2003 data is used ame_entry::be and ame_entry::dbe are calculated automatically. To indicate that O2scl has automatically calculated a value in this way, the associated accuracy field is set to ame_entry::intl_computed.
Note that all uncertainties are 1 sigma uncertainties.
The functions mass_excess() and nuclear_mass::mass_excess_d() directly return the value from the Audi et al. data. For consistency, the functions nuclear_mass::binding_energy(), nuclear_mass::binding_energy_d(), nuclear_mass::total_mass(), and nuclear_mass::total_mass_d() return values which are automatically computed with the O2scl values for the neutron and proton mass in o2scl_fm (which are obtained from CODATA). In order to obtain the value of the binding energy as reported in the original Audi et al. data instead of the value computed from the mass excess, you can use the function get_ZN(), and access the corresponding entry from the Audi et al. data directly.
See also the documentation for the class structure for each table entry in ame_entry.
Definition at line 609 of file nuclear_mass.h.
Public Member Functions | |
ame_mass () | |
Create a collection specified by version . | |
virtual const char * | type () |
Return the type, "ame_mass" . | |
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. | |
ame_entry | get_ZN (int l_Z, int l_N) |
Get element with Z=l_Z and N=l_N (e.g. 82,126). | |
ame_entry | get_ZA (int l_Z, int l_A) |
Get element with Z=l_Z and A=l_A (e.g. 82,208). | |
ame_entry | get_elA (std::string l_el, int l_A) |
Get element with name l_el and A=l_A (e.g. "Pb",208). | |
ame_entry | get (std::string nucleus) |
Get element with string (e.g. "Pb208") | |
bool | is_loaded () |
Returns true if data has been loaded. | |
int | set_data (int n_mass, ame_entry *m, std::string ref) |
Set data. | |
int | get_nentries () |
Return number of entries. | |
Protected Attributes | |
int | n |
The number of entries (about 3000). | |
std::string | reference |
The reference for the original data. | |
ame_entry * | mass |
The array containing the mass data of length ame::n. |
int ame_mass::set_data | ( | int | n_mass, |
ame_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).