Class nucmass_info (o2scl)¶
-
class
o2scl
::
nucmass_info
¶ Nuclear mass information.
This class exists to provide some basic information on nuclei to nuclear mass classes which are children of nucmass.
Note that some of the nuclear mass tables use older or alternative names for the heavier elements, so Ztoel() may return something different than is stored in, e.g., nucmass_ame::entry::el.
Subclassed by o2scl::nucmass
Public Functions
-
nucmass_info
()¶
-
int
parse_elstring
(std::string ela, int &Z, int &N, int &A)¶ Parse a string representing an element.
Accepts strings of one of the following forms:
Pb208
pb208
Pb 208
Pb-208
pb 208
pb-208
or one of the special stringsn
,p
,d
ort
for the neutron, proton, deuteron, and triton, respectively. This function also allows the value of A to precede the element symbol.
- Idea for Future:
Warn about malformed combinations like Carbon-5
- Idea for Future:
Right now,
n4
is interpreted incorrectly as Nitrogen-4, rather than the tetraneutron.
- Idea for Future:
Interpret strings with the full name rather than just the abbreviation.
- Note
At present, this allows nuclei which don’t make sense because A<Z, such as Carbon-5.
-
int
eltoZ
(std::string el)¶ Return Z given the element name abbreviation.
If the string parameter
el
is invalid, the error handler is called and the value -1 is returned.
-
std::string
Ztoel
(size_t Z)¶ Return the element name abbreviation given Z.
- Note
This function returns
"n"
indicating the neutron for Z=0, and if the argumentZ
is greater than 118, then the error handler is called.
-
std::string
Ztoname
(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.
Note that if
Z
is zero, then and'n'
is used to indicate the a nucleus composed entirely of neutrons and if the argumentZ
is greater than 118, the error handler is called.
Protected Types
-
typedef std::map<std::string, int, std::greater<std::string>>::iterator
table_it
¶ A convenient typedef for an iterator for element_table.
Protected Attributes
-
std::vector<std::string>
name_list
¶ Element names.
-
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.
Protected Static Attributes
-
const int
nelements
= 119¶ The number of elements (proton number)
-