Parameters refactor
Resolves #117 (closed)
Refactor primarily of IPeakIntegrator
, ShapeLibrary
and the shape library construction/peak prediction parts of core
, simplifying the way parameters are passed, via a structure rather than per-variable setters.
I had to use a slightly kludgy fix since a *Parameters
object generated in Python and passed via SWIG seems to be destroyed when passing as an argument, e.g. as in Experiment::buildShapeLibrary
, resulting in the default parameter set being passed. To resolve this (basically only for SWIG), I added public *Parameters
objects to the Experiment
class, and in Python it is necessary to directly manipulate the members of these structures, and pass them to the relevant functions as necessary.
I also removed some redundant variable (e.g. peak_scale
or scale
and peak_end
are the same thing) and added some forward declarations.