Skip to content

Make ShapeModel construction consistent with other Experiment submodules

Zamaan Raza requested to merge ShapeModelBuilder into main

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

Merge request reports

Loading