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:
-
Trackis 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::Factoryis introduced to create new derived objects by name and aclone()function to clone track objects - New class
StraightLineTrack : public Trackimplementing 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