TkN 2.1
Toolkit for Nuclei
macro_explore.C
1#include "Rtypes.h"
2#include "tkmanager.h"
3
4using namespace tkn;
5
6void macro_explore()
7{
8 std::cout << "*******************************************" << std::endl;
9 std::cout << "* Excited states on Carbon isotopic chain *" << std::endl;
10 std::cout << "*******************************************" << std::endl;
11
12 std::cout << "* Ground state spin parity *" << std::endl;
13 std::cout << "*-----------------------------------------*" << std::endl;
14 for(const auto &nuc : gmanager->get_nuclei([](auto nuc) {return (nuc->get_z()==6);})) {
15
16 tkn::tkstring test = nuc->get_symbol();
17 auto lvls =nuc->get_level_scheme()->get_levels([](auto lvl) {return (lvl->get_energy()==0);});
18
19 std::cout << std::setw(5) << std::left << nuc->get_symbol();
20 if(!lvls.empty()) std::cout << lvls.at(0)->get_spin_parity()->get_jpi_str();
21 std::cout << std::endl;
22 }
23
24 std::cout << "*-----------------------------------------*" << std::endl;
25 std::cout << "* Energy of second 0+ state *" << std::endl;
26 std::cout << "*-----------------------------------------*" << std::endl;
27 for(const auto &nuc : gmanager->get_nuclei([](auto nuc) {return (nuc->get_z()==6&&!(nuc->get_a()%2));})) {
28 auto lvls = nuc->get_level_scheme()->get_levels([](auto lvl) {return (lvl->get_spin_parity()->get_jpi_str()=="0+");});
29
30 std::cout << std::setw(5) << std::left << nuc->get_symbol();
31 if(lvls.size()>1) lvls[1]->get_energy_measure()->print(false);
32 else std::cout << "unkown";
33 std::cout << std::endl;
34 }
35
36 std::cout << "*-----------------------------------------*" << std::endl;
37 std::cout << "* All positive parity states *" << std::endl;
38 std::cout << "*-----------------------------------------*" << std::endl;
39 for(const auto &nuc : gmanager->get_nuclei([](auto nuc) {return (nuc->get_z()==6);})) {
40 std::cout << std::setw(5) << std::left << nuc->get_symbol();
41 for(const auto &lvl : nuc->get_level_scheme()->get_levels([](auto lvl) {return (lvl->get_spin_parity()->get_parity().get_value()==tkparity::kParityPlus);})) {
42 std::cout << std::setw(5) << std::left << lvl->get_spin_parity()->get_jpi_str();
43 }
44 std::cout << std::endl;
45 }
46}
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
Definition: tkstring.h:54
Definition: tklog.cpp:39