Core: ShapeModel architecture inconsistent with other modules owned by Experiment

Every core "module" in OpenHKL has its own class that is owned by Experiment: PeakFinder, PeakFilter, AutoIndexer etc. The only exception is ShapeModel, which is unique because it is both a class containing algorithms and a container. This makes ShapeModel architecturally confusing, but also has knock-on issues such as confusing as to where to store ShapeModelParameters in the Experiment class.

A new class ShapeModelBuilder should be added to the set of compute modeuls. ShapeModelBuilder will be constructed as a member of Experiment as with PeakFinder, AutoIndexer etc. and contain the heavy computational elements of building a shape model. The class ShapeModel itself should primarily be a container. The parameter set for ShapeModel will therefore be owned by ShapeModelBuilder.

Assignee Loading
Time tracking Loading