5#include "tknuclear_chart.h"
12 glog.set_warnings(
false);
16 nn =
new tknuclear_chart(
"B(E2) (in Weisskopf unit)",tknuclear_chart::kEven,0,
true);
18 std::cout <<
"*-----------------------------------------*" << std::endl;
19 std::cout <<
"* List of known B(E2) in Weisskopf unit *" << std::endl;
20 std::cout <<
"*-----------------------------------------*" << std::endl;
22 cout << left << setw(7) <<
"Nuc" <<
"Data " << setw(15) <<
"E gamma (keV)" << setw(6) <<
"mult" << setw(28) <<
"E from -> E to (keV)" <<
"Transition probability" << endl;
25 for(
const auto &nuc : gmanager->get_nuclei([](
auto nuc) {return (nuc->get_z()%2==0 && nuc->get_n()%2==0);})) {
27 for(
const auto &dataset: nuc->get_level_scheme()->get_datasets()) {
30 bool xundl = dataset.second->get_name().contains(
"XUNDL");
31 bool adopted = dataset.second->get_name().contains(
"ADOPTED");
32 if(!(adopted || xundl))
continue;
35 auto lev_scheme = nuc->get_level_scheme();
37 lev_scheme->select_dataset(dataset.first);
40 auto gamma = lev_scheme->get_decay<
tkgammadecay>(
"2+1->0+1",
false);
45 if(BE2W<=0||std::isnan(BE2W))
continue;
48 cout << setw(6) << nuc->get_symbol();
49 if(xundl) cout <<
" [XUNDL] ";
50 else cout <<
" [ENSDF] ";
51 cout << setw(15) << setprecision(2) << gamma->get_energy();
52 cout << setw(6) <<gamma->get_multipolarity();
53 tkstring transname = tkstring::Form(
"%-4s (%-6.1f) --> %s (%2.1f)",
54 gamma->get_level_from()->get_spin_parity()->get_jpi_str().data(),
55 gamma->get_level_from()->get_energy(),
56 gamma->get_level_to()->get_spin_parity_str().data(),
57 gamma->get_level_to()->get_energy());
58 cout << setw(28) << transname <<
" :" << BE2W;
62 if(adopted) nn->
set_value(nuc->get_z(),nuc->get_n(),BE2W);
Stores information on a gamma-ray decay.
double get_trans_prob(bool _elec, int _L, bool _WU)
returns the gamma gamma transition probability value (ex: BE2 in Weiksopf units, get_trans_prob(1,...
nuclear chart plot with ROOT
void draw(bool _update_only=false)
draw the tknucleus chart
void save_as(const char *file_name)
save the nuclear chart in the file file_name
void set_value(int _zz, int _nn, double _val)
set the bin value for a given nucleus
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....