Refactoring of the track class to have a flexible starting point to implement other fitting routines
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 aclone()
function to clone track objects - New class
StraightLineTrack : public Track
implementing fitting functionalities previously defined inTrack
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