Skip to content

Remove NuclearStackExtension

Ralf Ulrich requested to merge nuclear_proposal into master

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

Merge request reports