Skip to content

Refactoring of the track class to have a flexible starting point to implement other fitting routines

Lennart Huth requested to merge lhuth/corryvreckan:track_base_class into tracking

Ready to be merged, the final list of new features:

  • Track is now a base class only storing common variables and taking care of cluster adding, track interpolation, etc. Implements a set of virtual functions that need to be reimplemented by any derived class.
  • Exceptions have been restructured: TrackError: public ObjectError : public Exception: public RunTimeError
  • A Track::Factory is introduced to create new derived objects by name and a clone() function to clone track objects
  • New class StraightLineTrack : public Track implementing fitting functionalities previously defined in Track

This MR splits the old track into a Track base class and a StraightLineTrack, that inherits from Track and implements the fitting routine. Everything, which is not related to the fit is moved to the base class.

This separation allows a simple implementation of other track models.

Edited by Lennart Huth

Merge request reports