Class nucmass_info (o2scl)¶
-
class 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
Right now,
n4
is interpreted incorrectly as Nitrogen-4, rather than the tetraneutron.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.
-
std::string int_to_spinp(int g)¶
Convert an integer to a spin and parity string.
-
int spinp_to_int(std::string s)¶
Convert a spin and parity string to an integer.
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.
Protected Static Attributes
-
static const int nelements = 119¶
The number of elements (proton number)
-
nucmass_info()¶