#include <nuclear_mass.h>

This base class provides some default functionality for the nuclear mass formulas. For typical usage, use ame_mass, mnmsk_mass, mnmsk_mass_exp, or semi_empirical_mass.
Elements 112-118 are named "Uub", "Uut", "Uuq", "Uup", "Uuh", "Uus", and "Uuo", respectively.
The binding energy is defined by
where
is the mass of the nucleus including the mass of the electrons. The mass excess is defined by
For example, for
, the binding energy is 1801.695 MeV, the mass excess is 47.30366 MeV, and
is 221742.9 MeV. This is consistent with the above, as
is 938.7830 MeV,
is 939.5650 MeV, and
is 931.494 MeV.
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.
The treatment of the electron binding energy contribution is not necessarily consistent at present.
: Beta-decay energy
: Double beta-decay energy
: Four beta-decay energy
: Alpha-decay energy
: Beta-delayed neutron emission decay energy
:
reaction energy
: Electron capture decay energy
: Electron capture with delayed proton emission decay energy
:
reaction energy
:
reaction energy
: Neutron separation energy
: Proton separation energy
: Two neutron separation energy
: Two proton separation energy
double to int.Definition at line 119 of file nuclear_mass.h.
Public Member Functions | |
| virtual const char * | type () |
Return the type, "nuclear_mass". | |
| virtual bool | is_included (int Z, int N) |
| Return false if the mass formula does not include specified nucleus. | |
| int | get_nucleus (int Z, int N, nucleus &n) |
Fill n with the information from nucleus with the given neutron and proton number. | |
| virtual double | mass_excess (int Z, int N)=0 |
Given Z and N, return the mass excess in MeV. | |
| virtual double | mass_excess_d (double Z, double N)=0 |
Given Z and N, return the mass excess in MeV. | |
| virtual double | binding_energy (int Z, int N) |
| Return the binding energy in MeV. | |
| virtual double | binding_energy_d (double Z, double N) |
| Return the binding energy in MeV. | |
| 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. | |
| int | eltoZ (std::string el) |
| Return Z given the element name. | |
| std::string | Ztoel (size_t Z) |
| Return the element name given Z. | |
| std::string | tostring (size_t Z, size_t N) |
| Return a string of the form "Pb208" for a given Z and N. | |
| int | parse_elstring (std::string ela, int &Z, int &N, int &A) |
| Parse a string of the form "Pb208". | |
Protected Types | |
|
typedef std::map< std::string, int, string_less_than > ::iterator | table_it |
| A convenient typedef for an iterator for element_table. | |
Protected Attributes | |
|
std::map< std::string, int, string_less_than > | element_table |
| A map containing the proton numbers organized by element name. | |
| std::string | element_list [nelements] |
| The list of elements organized by proton number. | |
Static Protected Attributes | |
| static const int | nelements = 119 |
| The number of elements (proton number). | |
Data Structures | |
| struct | string_less_than |
| String comparison operator for element_table. More... | |
| int get_nucleus | ( | int | Z, | |
| int | N, | |||
| nucleus & | n | |||
| ) | [inline] |
Fill n with the information from nucleus with the given neutron and proton number.
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.
Definition at line 146 of file nuclear_mass.h.
| virtual double binding_energy | ( | int | Z, | |
| int | N | |||
| ) | [inline, virtual] |
Return the binding energy in MeV.
The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb-208 is about -8*208 = -1664 MeV.
Definition at line 172 of file nuclear_mass.h.
| virtual double binding_energy_d | ( | double | Z, | |
| double | N | |||
| ) | [inline, virtual] |
Return the binding energy in MeV.
The binding energy is defined to be negative for bound nuclei, thus the binding energy per baryon of Pb-208 is about -8*208 = -1664 MeV.
Definition at line 186 of file nuclear_mass.h.
| int eltoZ | ( | std::string | el | ) | [inline] |
Return Z given the element name.
Properly handle errors
Definition at line 216 of file nuclear_mass.h.
| std::string Ztoel | ( | size_t | Z | ) | [inline] |
Return the element name given Z.
Note that Ztoel(0) returns "n" indicating the neutron and if the argument Z is greater than 118, an empty string is returned.
Definition at line 227 of file nuclear_mass.h.
| std::string tostring | ( | size_t | Z, | |
| size_t | N | |||
| ) | [inline] |
Return a string of the form "Pb208" for a given Z and N.
Note that if Z is zero, then and 'n' is used to indicate the a nucleus composed entirely of neutrons and if the argument Z is greater than 118, an empty string is returned (independ.
Definition at line 243 of file nuclear_mass.h.
| int parse_elstring | ( | std::string | ela, | |
| int & | Z, | |||
| int & | N, | |||
| int & | A | |||
| ) | [inline] |
Parse a string of the form "Pb208".
Note that this does not correctly interpret dashes, e.g. "Pb-208". will not work.
Definition at line 260 of file nuclear_mass.h.
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page