THaSpectrometer/THaTrack should be made abstract base classes
|Category:||-||Estimated time:||8.00 hours|
|Target version:||1.7||Spent time:||-|
THaSpectrometer is currently limited to generating THaTrack objects. THaTracks, in turn, describe tracks in TRANSPORT style, appropriate for small-acceptance focusing spectrometers. Other spectrometer types are conceivable, for example 4pi detectors for which spherical coordinates are best suited, or SoLID with its cylindrical coordinate system. One might even want a different type of tracks for focusing spectrometers than THaTrack.
To support this, turn THaSpectrometer into a base class for various spectrometer classes that differ by the tracks that they generate. Similarly, THaTrack should become a base class for various types of tracks. Common among all tracks is that they represent physics 4-vectors at the vertex; everything else is specific to the spectrometer type.