40#include "tkn_config.h"
46#include "tkproperty_list.h"
47#include "tklevel_scheme.h"
59 static vector<int> fmagic_number_list;
65 tkstring felement_symbol{};
66 tkstring felement_name{};
69 bool fis_known =
false;
70 bool fis_stable =
false;
72 tkspin_parity fspin_parity{};
178 void set_name(
const char*_name);
Manages the database loading and provides access to the physics properties.
A nucleus made of Z protons and N neutrons.
double get_mass_excess(const tkunit_manager::units_keys _unit=tkunit_manager::units_keys::keV)
return the mass excess in keV by default
const vector< shared_ptr< tkmeasure > > get_xrays()
returns the list of xrays
const tkstring & get_jpi() const
return the ground state spin and parity as a string
int get_a()
return the mass number
vector< pair< tkstring, double > > get_decay_modes()
return the decay modes as a vector of decay
double get_radius() const
returns the radius in fm
const tkspin_parity & get_spin_parity()
return the ground state spin and parity object
bool is_n_magic()
return true in case of n is a magic number
double get_lifetime(const tkunit_manager::units_keys _unit=tkunit_manager::units_keys::s)
returns the lifetime in second
bool is_stable() const
test if the nucleus is stable
double get_abundance() const
returns the natural abundance in percent
shared_ptr< tkmeasure > get_electric_quadrupole_measure()
return the electric quadrupole moment tkmeasure object
virtual ~tknucleus()=default
tknucleus()
default constructor
double get_fission_yield(tkstring _parent, bool _cumulative=false)
returns the fission yield of the current nucleus
tkstring get_lifetime_str()
returns the lifetime in string (using the best adapted unit)
const tkstring & get_element_name()
return the name of the chimical element
shared_ptr< tklevel > get_ground_state()
return the ground state level (nullptr if no GS known)
bool is_z_magic()
return true in case of z is a magic number
int get_z()
return the proton number
shared_ptr< tklevel_scheme > get_level_scheme()
return a tklevel_scheme shared pointer to the nucleus level scheme
double get_electric_quadrupole()
return the electric quadrupole moment in barn by default
shared_ptr< tkmeasure > get_radius_measure()
return the radius tkmeasure object
int get_discovery_year()
return the discovery year
shared_ptr< tkmeasure > get_mass_excess_measure()
return the mass excess tkmeasure object
shared_ptr< tkmeasure > get_binding_energy_over_a_measure()
returns the binding energy tkmeasure object
shared_ptr< tkmeasure > get_magnetic_dipole_measure()
return the magnetic dipole moment tkmeasure object
shared_ptr< tkmeasure > get_abundance_measure()
return the abundance tkmeasure object
bool is_known() const
test if the nucleus is known
shared_ptr< tkmeasure > get_lifetime_measure() const
returns the lifetime tkmeasure object
const tkstring & get_element_symbol()
return the symbol of the chimical element
void print() const
print the main nucleus properties
const tkstring & get_symbol()
return the nucleus symbol
bool is_doubly_magic()
return true in case of z and n are magic numbers
double get_magnetic_dipole()
return the magnetic dipole moment in mun by default
tkstring get_decay_mode_str()
return the decay modes as a string
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
bool is_bound() const
test if the nucleus is bound (positive binding energy)
int get_n()
return the neutron number
Contains list of properties.
shared_ptr< tkmeasure > get(const tkstring &_property) const
get the property as tkmeasure
tkstring get_property(const tkstring &_property) const
get the property value as a string
vector< shared_ptr< tkmeasure > > get_data_properties(const tkstring &_opt="*")
get a vector of data properties according to a regular expression
Nuclear excited state spin-parity.
const tkstring & get_jpi_str() const
returns the spin and parity string
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
int atoi() const
Converts a string to integer value.
units_keys
units identifiers