This patch modularizes the code responsible for selecting the stopping power coefficients. Specifically, it:
- moves the data in `elemPars` to seperate JSON files in the `data/` directory. This makes it easier to modify the existing data or add new data sources. Note that this refactoring does not alter the previous functionality - the contents of each file are simply read and deep-merged into an initially empty `elemPars` object.
- adds the original Varelas-Biersack parameters from Anderson & Ziegler (1977).
- updates the "Other Parameters" tab in the GUI for easy toggling between the different stopping power coefficient data sources.
- The stopping coefficients from ICRU Report 49 (published in 1993) are now
fairly old, with many originating from the even older compilation by
Anderson & Ziegler (published in 1977). For some target elements, little
experimental data was available at the time of publication and the tabulated
values are not necessarily reliable.
- This patch provides revised values for stopping coefficients in select
elemental targets derived from Varelas-Biersack fits to stopping data
compiled in the IAEA's database (https://www-nds.iaea.org/stopping/).
For further details on their determination, see e.g.:
https://doi.org/10.48550/arXiv.2212.11081
- When creating input files for trimspNL using the GUI, the default behaviour
is changed to prefer using the revised coefficients. In instances where
updated values are unavailable (e.g., due to lack of experimental data),
fall back to using the coefficients from ICRU Report 49.
- when a layer's composition isn't found in the (internal) dictionary of
compounds, estimate its density using a weighted average of elemental
densities.
- this fixes the annoying behaviour of having an "undefined" density passed
to the generated input file when the user forgets to update the density
manually.
- use clearer notation for isotope-specific projectiles
- harmonize formatting of GUI labels (consistent naming, add missing units, fix typos, etc.)
- use more verbose/descriptive naming of the function/dictionary handelling the electronic stopping coefficients (for easier extension later).