Refactor Distribution Handling
This MR covers:
- remove ParticleDistribution from GUI and Core
- remove ParameterPool and related usage patterns (string-defined parameter access)
In the consequence, unit tests and examples related to particle distribution are not working any more. They have been disabled for CTest to keep them for the time a new particle distribution mechanism is implemented. Disabling is done a) in GoogleTests and b) while defining CTest. They are listed as "disabled" after the CTest run.
Distribution of beam parameters has been refactored to not use ParameterPool/RegisteredParameters any more, but instead they use an enum to define which parameter shall be distributed (inclination angle, azimuthal angle, wavelength).
Translation of string-defined parameters (GUI<->domain) has become obsolete and was removed.
Transforming simulations between GUI & domain has been refactored to not rely on string-defined parameters any more.
Fitting tests have been adapted to the latest samplebuilder paradigm (define samples already when constructed; create completely new sample to realize distributions). With this they do not rely on string-def'ed parameters any more.
A few findings (e.g. already existing issues before this refactoring) have been marked with the working tag #baPool
; they should be addressed in an upcoming MR to not make this one even bigger
The commit history shows a lot of changes in code which has been removed in the end (mainly in IParameterizedComponent
and RealParameter
). This was due to the fact that it was not completely visible from the beginning, which parts can be removed and what the implications may be.