Class nucmass_info (o2scl)

O2scl : Class List

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 strings n, p, d or t 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 argument Z 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 argument Z 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.

std::string element_list[nelements]

The list of elements organized by proton number.

Protected Static Attributes

static const int nelements = 119

The number of elements (proton number)