Make ShapeModel construction consistent with other Experiment submodules
Each distinct workflow step (peak finding, indexing, prediction etc.) has its own wrapper class owned by Experiment
to hide the implementation and correctly set up the calculation given an appropriate parameter set. The only exception to this was the ShapeModel
object, which could be built in many inconsistent ways by many classes, and have many different owners.
I have attempted to unify ShapeModel
construction in the form of the ShapeModelBuilder
class, which will now do all of the heavy lifting.
A handy side effect of this refactoring is that ShapeIntegrator
is now default constructable, in line with the other integrators, making polymorphism easier.
Resolves #686 (closed)
Edited by Zamaan Raza