Remove NuclearStackExtension
To store A and Z of nuclei on a dynamic stack has proven to work, but is artificial and requires a lot of extra attention by developers of models.
This branch proposes a slight extension of the enum class corsika::Code
to handle nuclear codes just as done by PDG (10LZZZAAAI0). There are new functions to hide the details from the user get_nucleus_code(A,Z)
or also is_nucleus(code)
and other functions became automatically generic like get_mass(code)
which works now the same for non-nuclei as well as nuclei.
In this MR, the NuclearStackExtension was entirely removed to illustrate that the framework fully works without. I will also make some performance comparisons master/MR, but do not expect any major impact.
Edited by Ralf Ulrich