There are five track classes. The first VTrack consists of a surface and the five track parameters. The surface defines which five parameters are varies. ETrack inherits from VTrack and adds an error matrix for the five parameters. HTrack adds a list of hits and MTrack inherits from it to add a list of misses. Finally a PTrack has an MTrack as well as a path and represents a track in the midst of track finding.
Paths provide the map for track finding. Each path has an associated layer which is used to find hits or misses to add to the track. Each path has a list of child paths which tell where to go next in the track finding and a parent path telling where it came from.
Layers describe the geometry of the detector. Each layer has an associated list of surfaces and propagates tracks to each of these surfaces in turn. There is a list of clusters and a miss associated with each active surface in the layer.
A Miss gives the likelihood that a particular track would fail to produce a signal in its associated surface. This failure may be due to the position of the track (outside the boundaries), an intrinsic detector inefficiency or any other effect which can be estimated from the track kinematics.
Clusters represent detected signals from a track crossing. A cluster takes a track and returns a list of hits. These hits provide a measurement which can be predicted from the track parameters and are used to improve the determination of those parameters. In the simplest case, a cluster will return a single hit which provides a measurement of the position of the track on the surface.
Questions or comments to dladams@fnal.gov.