The assignment of cut records in PTrack propagation David Adams 14jul00 1800 Cut records (class CutRecord) keep track of the variables upon which cuts are applied during track finding. Here we describe when these records are created and filled in the method PTrack::propagate(...) which is the heart of TRF++ track finding. This method takes a single PTrack and returns a list of new PTrack's which are extensions of the original track. There are three stages of propagation and cut records are created each stage. The following dicussion describes the cut records that are created if the original PTrack has a cut record. No records are constructed if the original track does not have one. Stage 1 ------- In the first stage the original PTrack is propagated to any reachable layer surfaces which appear next in its path. A new PTrack is created for each such layer surface. A new cut record is created for each new track. The cut records from this stage have PTrack ID's and PTrack parent ID's. Stage 2 ------- For each new track, a search is made for nearby clusters. A new cut record is created for each cluster. The cut records are stored in a map indexed by cluster. A series of cluster filters are applied to reduce the number of clusters. Each filter is passed the map of cut records so it can record cut information. The cut records produced in this stage do not have PTrack ID's. They do have PTrack parent ID's. Stage 3 ------- Surviving clusters are used to generate hits. A cut record is created for each such hit. An AddFitter is used to refit the track with the new hit. It is passed the cut record to update. Tracks with succesful fits are used to construct new PTrack's. Their cut record is assigned to the PTrack. Checkers are then applied. The are passed the cut record for update. The cut records from unsuccesful fits do not have PTrack ID's or PTrack parent ID's. Those from succesful fits have both ID's.