Particles and Nuclei Sub-Library: Version 0.910
Public Member Functions | Protected Attributes
ame_mass Class Reference

Mass formula from the Atomic Mass Evaluation (2005 and 1993) More...

#include <nuclear_mass.h>

Inheritance diagram for ame_mass:
nuclear_mass_disc nuclear_mass nuclear_mass_info ame_mass_exp

Detailed Description

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

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.

Idea for Future:
There are definitions of the atomic mass unit and other constants that are defined by the 1995 and 2003 atomic mass evaluations which are not used at present. These could be implemented by making a separate copy of the neutron and proton masses inside this class.
Idea for Future:
Create a caching and more intelligent search system for the table. The table is sorted by A and then N, so we could probably just copy the search routine from mnmsk_mass, which is sorted by Z and then N.
Idea for Future:
Allow the user to select only massses which are not estimated.

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_entrymass
 The array containing the mass data of length ame::n.

Member Function Documentation

int ame_mass::set_data ( int  n_mass,
ame_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:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Friends

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

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.