An introduction to TRF++ may be found at http://www-d0.fnal.gov/~dladams/trf.
The description below includes links to the code contained in this package. This version of the code may not be the most recent.
TRF++ package trffit provides classes for track fitting.
The physical components include:
Their dependencies are illustrated in the physical dependency diagram.
The (not up-to-date) class diagram shows some of the classes and their relationships.
This package depends on the following external packages:
The classes defined in the above components are described below. Each class is defined in a component of the same name unless otherwise indicated. The descriptions are brief. See the header files for details.
Class HTrack describes a track as a list of hits plus a fit (ETrack object and chi-square). This is the input to the fitters described below. Component MTrack contains a class of the same name which inherits from HTrack and adds a list of misses and maintains the relative ordering of the hit and miss lists.
RTrack represents a reconstructed track. It is a typedef to MTrack.
Abstract base class AddFitter is an algorithm class. It adds a hit to a track and refits. A concrete implementation is provided in class AddFitKalman which uses a Kalman filter to update the track fit. Class AddFitStarter also inherits from AddFitter. Instead of directly providing fitting code, it maintains a registry of add fitters and calls the appropriate one depending on the list of hits on the input track.
AddFitNull provides an implementation which can be used where the fitter is not expected to be called. It will throw an assertion or return failure if a fit is attempted.
Questions or comments to dladams@fnal.gov.