![]() |
TkN 2.1
Toolkit for Nuclei
|
A nucleus made of Z protons and N neutrons. More...
A nucleus made of Z protons and N neutrons.
To access any nuclear property, a tkn::tknucleus needs to be created. it can be created using its symbol, or its proton and mass number:
A nucleus can also be create only using it's element name or charge number. In such case, the most stable isotope will be returned, and the most abundant in case of multiple stable nuclei:method name | description |
---|---|
get_a() | nucleon number |
get_n() | neutron number |
get_z() | proton number |
get_symbol() | nucleus name (ex: 12C) |
get_element_name() | element name (ex: Carbon) |
get_element_symbol() | element symbol (ex: C) |
is_z_magic() | is Z a magic number |
is_n_magic() | is N a magic number |
is_doubly_magic() | is nucleus doubly magic |
get_abundance() | abundance for stable nuclei (in %) |
get_binding_energy_over_a() | binding energy per nucleon (MeV) (unit as parameter) |
get_lifetime() | ground state lifetime in seconds (unit as parameter) |
get_mass_excess() | mass excess (MeV) (unit as parameter) |
get_jpi() | ground state spin and parity as a string |
get_xrays() | vector of the known xray energies |
get_decay_mode_str() | decay modes as a string |
get_decay_modes() | decay modes as a vector of decay and branching ratio |
get_ground_state() | access the ground state tkn::tklevel |
get_level_scheme() | access the tkn::tklevel_scheme |
get_fission_yield(tkstring _parent, bool _cumulative=false) | get the fission yield of for a given fissioning nucleus (cumulative or not) |
Definition at line 54 of file tknucleus.h.
#include <tknucleus.h>
Public Member Functions | |
tknucleus () | |
default constructor More... | |
tknucleus (const char *_symbol) | |
tknucleus constructor taking a string as input More... | |
tknucleus (int _Z) | |
tknucleus constructor taking only Z as input More... | |
tknucleus (int _Z, int _A) | |
tknucleus constructor taking Z and A as input More... | |
virtual | ~tknucleus ()=default |
int | get_a () |
return the mass number More... | |
double | get_abundance () const |
returns the natural abundance in percent More... | |
shared_ptr< tkmeasure > | get_abundance_measure () |
return the abundance tkmeasure object More... | |
double | get_binding_energy_over_a (const tkunit_manager::units_keys _unit=tkunit_manager::units_keys::MeV) |
returns the binding energy per mass unit in MeV More... | |
shared_ptr< tkmeasure > | get_binding_energy_over_a_measure () |
returns the binding energy tkmeasure object More... | |
tkstring | get_decay_mode_str () |
return the decay modes as a string More... | |
vector< pair< tkstring, double > > | get_decay_modes () |
return the decay modes as a vector of decay More... | |
int | get_discovery_year () |
return the discovery year More... | |
double | get_electric_quadrupole () |
return the electric quadrupole moment in barn by default More... | |
shared_ptr< tkmeasure > | get_electric_quadrupole_measure () |
return the electric quadrupole moment tkmeasure object More... | |
const tkstring & | get_element_name () |
return the name of the chimical element More... | |
const tkstring & | get_element_symbol () |
return the symbol of the chimical element More... | |
double | get_fission_yield (tkstring _parent, bool _cumulative=false) |
returns the fission yield of the current nucleus More... | |
shared_ptr< tklevel > | get_ground_state () |
return the ground state level (nullptr if no GS known) More... | |
const tkstring & | get_jpi () const |
return the ground state spin and parity as a string More... | |
shared_ptr< tklevel_scheme > | get_level_scheme () |
return a tklevel_scheme shared pointer to the nucleus level scheme More... | |
double | get_lifetime (const tkunit_manager::units_keys _unit=tkunit_manager::units_keys::s) |
returns the lifetime in second More... | |
shared_ptr< tkmeasure > | get_lifetime_measure () const |
returns the lifetime tkmeasure object More... | |
tkstring | get_lifetime_str () |
returns the lifetime in string (using the best adapted unit) More... | |
double | get_magnetic_dipole () |
return the magnetic dipole moment in mun by default More... | |
shared_ptr< tkmeasure > | get_magnetic_dipole_measure () |
return the magnetic dipole moment tkmeasure object More... | |
double | get_mass_excess (const tkunit_manager::units_keys _unit=tkunit_manager::units_keys::keV) |
return the mass excess in keV by default More... | |
shared_ptr< tkmeasure > | get_mass_excess_measure () |
return the mass excess tkmeasure object More... | |
int | get_n () |
return the neutron number More... | |
double | get_radius () const |
returns the radius in fm More... | |
shared_ptr< tkmeasure > | get_radius_measure () |
return the radius tkmeasure object More... | |
const tkspin_parity & | get_spin_parity () |
return the ground state spin and parity object More... | |
const tkstring & | get_symbol () |
return the nucleus symbol More... | |
const vector< shared_ptr< tkmeasure > > | get_xrays () |
returns the list of xrays More... | |
int | get_z () |
return the proton number More... | |
bool | is_bound () const |
test if the nucleus is bound (positive binding energy) More... | |
bool | is_doubly_magic () |
return true in case of z and n are magic numbers More... | |
bool | is_known () const |
test if the nucleus is known More... | |
bool | is_n_magic () |
return true in case of n is a magic number More... | |
bool | is_stable () const |
test if the nucleus is stable More... | |
bool | is_z_magic () |
return true in case of z is a magic number More... | |
void | print () const |
print the main nucleus properties More... | |
![]() | |
tkproperty_list (tkstring _name) | |
virtual | ~tkproperty_list ()=default |
shared_ptr< tkmeasure > | get (const tkstring &_property) const |
get the property as tkmeasure More... | |
vector< shared_ptr< tkmeasure > > | get_data_properties (const tkstring &_opt="*") |
get a vector of data properties according to a regular expression More... | |
const std::map< tkstring, property_string > | get_properties () |
get the properties map More... | |
tkstring | get_property (const tkstring &_property) const |
get the property value as a string More... | |
tkstring | get_property_type (const tkstring &_property) const |
get the property type as a string More... | |
tkstring | get_property_unit (const tkstring &_property) const |
get the property unnit as a string More... | |
bool | has_property (const tkstring &_property) const |
to check if the property is available More... | |
void | list_data_properties (const tkstring &_opt="*") const |
list the available tkmeasure properties More... | |
void | list_properties (const tkstring &_opt="*") const |
list the available properties More... | |
Friends | |
class | tkmanager |
|
inline |
default constructor
Definition at line 76 of file tknucleus.h.
tknucleus | ( | int | _Z, |
int | _A | ||
) |
tknucleus constructor taking Z and A as input
_Z | proton number |
_A | nucleon number |
Definition at line 63 of file tknucleus.cpp.
tknucleus | ( | int | _Z | ) |
tknucleus constructor taking only Z as input
_Z | proton number |
The most stable nucleus is returned and the most abundant if more than one stable
Definition at line 87 of file tknucleus.cpp.
tknucleus | ( | const char * | _symbol | ) |
tknucleus constructor taking a string as input
_symbol | nucleus symbol (ex: "12C") |
if only the element symbol is given, the most stable nucleus is returned (and the most abundant if more than one stable)
Definition at line 107 of file tknucleus.cpp.
|
virtualdefault |
|
inline |
return the mass number
Definition at line 92 of file tknucleus.h.
double get_abundance | ( | ) | const |
returns the natural abundance in percent
This method returns the natural abundance of the nucleus in percent. in case no abundance is known for this nucleus, a value of -1 is returned. It can be tested using tknucleus::has_property("abundance")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 192 of file tknucleus.cpp.
|
inline |
return the abundance tkmeasure object
Definition at line 123 of file tknucleus.h.
double get_binding_energy_over_a | ( | const tkunit_manager::units_keys | _unit = tkunit_manager::units_keys::MeV | ) |
returns the binding energy per mass unit in MeV
_unit | unit of the returned result. MeV are used by default |
This method returns the binding energy per mass unit of the nucleus in unit of _units
. A std::nan(1)
is returned in case no mass excess is known for this nucleus. It can be tested using tknucleus::has_property("binding_energy_overA")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 222 of file tknucleus.cpp.
|
inline |
returns the binding energy tkmeasure object
Definition at line 133 of file tknucleus.h.
|
inline |
return the decay modes as a string
Definition at line 151 of file tknucleus.h.
vector< pair< tkstring, double > > get_decay_modes | ( | ) |
return the decay modes as a vector of decay
This method returns the different known decay modes as a vector of pair containing the decay as a string and the ratio as a double. A ratio value of -1 means that the value or decay is uncertain
Definition at line 318 of file tknucleus.cpp.
|
inline |
return the discovery year
Definition at line 154 of file tknucleus.h.
double get_electric_quadrupole | ( | ) |
return the electric quadrupole moment in barn by default
This method returns the electric quadrupole moment of the nucleus in barn. in case no abundance is known for this nucleus, a value of -1 is returned. It can be tested using tknucleus::has_property("electric_quadrupole")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 179 of file tknucleus.cpp.
|
inline |
return the electric quadrupole moment tkmeasure object
Definition at line 118 of file tknucleus.h.
|
inline |
return the name of the chimical element
Definition at line 85 of file tknucleus.h.
|
inline |
return the symbol of the chimical element
Definition at line 83 of file tknucleus.h.
double get_fission_yield | ( | tkstring | _parent, |
bool | _cumulative = false |
||
) |
returns the fission yield of the current nucleus
_parent | name of the fissioning nucleus |
_cumulative | if true, returns the cumulative fission yield |
This method returns fission yield of the current nucleus for a given fissioning nucleus _parent. returns 0 if no fission yield is existing. Available fissioning nucleus:
Definition at line 264 of file tknucleus.cpp.
shared_ptr< tklevel > get_ground_state | ( | ) |
return the ground state level (nullptr if no GS known)
Definition at line 300 of file tknucleus.cpp.
|
inline |
return the ground state spin and parity as a string
Definition at line 169 of file tknucleus.h.
shared_ptr< tklevel_scheme > get_level_scheme | ( | ) |
return a tklevel_scheme shared pointer to the nucleus level scheme
Definition at line 141 of file tknucleus.cpp.
double get_lifetime | ( | const tkunit_manager::units_keys | _unit = tkunit_manager::units_keys::s | ) |
returns the lifetime in second
_unit | unit of the returned result. second is used by default |
This method returns the groundstate lifetime of the nucleus in unit of _units
. A std::nan(1)
is returned in case no lifetime is known for this nucleus. It can be tested using tknucleus::has_property("lifetime")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 239 of file tknucleus.cpp.
|
inline |
returns the lifetime tkmeasure object
Definition at line 138 of file tknucleus.h.
tkstring get_lifetime_str | ( | ) |
returns the lifetime in string (using the best adapted unit)
This method returns the level lifetime as string using the best adapted unit
Definition at line 275 of file tknucleus.cpp.
double get_magnetic_dipole | ( | ) |
return the magnetic dipole moment in mun by default
This method returns the magnetic dipole moment of the nucleus in mun. in case no abundance is known for this nucleus, a value of -1 is returned. It can be tested using tknucleus::has_property("magnetic_dipole")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 166 of file tknucleus.cpp.
|
inline |
return the magnetic dipole moment tkmeasure object
Definition at line 113 of file tknucleus.h.
double get_mass_excess | ( | const tkunit_manager::units_keys | _unit = tkunit_manager::units_keys::keV | ) |
return the mass excess in keV by default
_unit | unit of the returned result. keV are used by default |
This method returns the mass excess of the nucleus in unit of _units
. A std::nan(1)
is returned in case no mass excess is known for this nucleus. It can be tested using tknucleus::has_property("mass_excess")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 205 of file tknucleus.cpp.
|
inline |
return the mass excess tkmeasure object
Definition at line 128 of file tknucleus.h.
|
inline |
return the neutron number
Definition at line 90 of file tknucleus.h.
double get_radius | ( | ) | const |
returns the radius in fm
This method returns the charge radius in fm. in case no radius is known for this nucleus, a value of -1 is returned. It can be tested using tknucleus::has_property("radius")
prior to call this method or std::is_nan()
on the returned value.
Definition at line 153 of file tknucleus.cpp.
|
inline |
return the radius tkmeasure object
Definition at line 108 of file tknucleus.h.
|
inline |
return the ground state spin and parity object
Definition at line 167 of file tknucleus.h.
|
inline |
return the nucleus symbol
Definition at line 95 of file tknucleus.h.
|
inline |
returns the list of xrays
Definition at line 172 of file tknucleus.h.
|
inline |
return the proton number
Definition at line 88 of file tknucleus.h.
bool is_bound | ( | ) | const |
test if the nucleus is bound (positive binding energy)
Definition at line 307 of file tknucleus.cpp.
|
inline |
return true in case of z and n are magic numbers
Definition at line 102 of file tknucleus.h.
|
inline |
test if the nucleus is known
Definition at line 160 of file tknucleus.h.
bool is_n_magic | ( | ) |
return true in case of n is a magic number
Definition at line 136 of file tknucleus.cpp.
|
inline |
test if the nucleus is stable
Definition at line 162 of file tknucleus.h.
bool is_z_magic | ( | ) |
return true in case of z is a magic number
Definition at line 131 of file tknucleus.cpp.
void print | ( | ) | const |
print the main nucleus properties
Definition at line 330 of file tknucleus.cpp.
|
friend |
Definition at line 56 of file tknucleus.h.