TkN 2.5
Toolkit for Nuclei
Loading...
Searching...
No Matches
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)
32 lvls[1]->get_energy_measure()->print(false);
33 else
34 std::cout << "unknown";
35 std::cout << std::endl;
36 }
37
38 std::cout << "*-----------------------------------------*" << std::endl;
39 std::cout << "* All positive parity states *" << std::endl;
40 std::cout << "*-----------------------------------------*" << std::endl;
41 for (const auto &nuc : gmanager->get_nuclei([](auto nuc) { return (nuc->get_z() == 6); })) {
42 std::cout << std::setw(5) << std::left << nuc->get_symbol();
43 for (const auto &lvl : nuc->get_level_scheme()->get_levels([](auto lvl) { return (lvl->get_spin_parity()->get_parity().get_value() == tkparity::kParityPlus); })) {
44 std::cout << std::setw(5) << std::left << lvl->get_spin_parity()->get_jpi_str();
45 }
46 std::cout << std::endl;
47 }
48}
std::string with usefull tricks from TString (ROOT) and KVString (KaliVeda) and more....
Definition tkstring.h:32
Definition tklog.cpp:16