Base Class for genfit track representations. Defines interface for track parameterizations.
More...
|
| virtual GFAbsTrackRep * | clone () const =0 |
| |
| virtual GFAbsTrackRep * | prototype () const =0 |
| |
| virtual double | extrapolate (const GFDetPlane &plane, TMatrixT< Double_t > &statePred) |
| | returns the tracklength spanned in this extrapolation More...
|
| |
| | GFAbsTrackRep () |
| |
| | GFAbsTrackRep (int) |
| |
| virtual | ~GFAbsTrackRep () |
| |
| virtual void | extrapolateToPoint (const TVector3 &point, TVector3 &poca, TVector3 &normVec) |
| | This method is to extrapolate the track to point of closest approach to a point in space. More...
|
| |
| virtual void | extrapolateToLine (const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &normVec, TVector3 &poca_onwire) |
| | This method extrapolates to the point of closest approach to a line. More...
|
| |
| virtual void | stepalong (double h) |
| | make step of h cm along the track More...
|
| |
| virtual double | extrapolate (const GFDetPlane &plane, TMatrixT< Double_t > &statePred, TMatrixT< Double_t > &covPred)=0 |
| | Extrapolates the track to the given detectorplane. More...
|
| |
| double | extrapolate (const GFDetPlane &plane) |
| | This changes the state and cov and plane of the rep. More...
|
| |
| unsigned int | getDim () const |
| | returns dimension of state vector More...
|
| |
| virtual void | Print (std::ostream &out=std::cout) const |
| |
| const TMatrixT< Double_t > & | getState () const |
| |
| const TMatrixT< Double_t > & | getCov () const |
| |
| double | getStateElem (int i) const |
| |
| double | getCovElem (int i, int j) const |
| |
| virtual TVector3 | getPos (const GFDetPlane &pl)=0 |
| |
| virtual TVector3 | getMom (const GFDetPlane &pl)=0 |
| |
| virtual void | getPosMom (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom)=0 |
| |
| virtual void | getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov) |
| | method which gets position, momentum and 6x6 covariance matrix More...
|
| |
| virtual double | getCharge () const =0 |
| |
| TVector3 | getPos () |
| |
| TVector3 | getMom () |
| |
| void | getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &c) |
| |
| TMatrixT< Double_t > | getFirstState () const |
| |
| TMatrixT< Double_t > | getFirstCov () const |
| |
| GFDetPlane | getFirstPlane () const |
| |
| TMatrixT< Double_t > | getLastState () const |
| |
| TMatrixT< Double_t > | getLastCov () const |
| |
| GFDetPlane | getLastPlane () const |
| |
| double | getChiSqu () const |
| |
| double | getRedChiSqu () const |
| | returns chi2/ndf More...
|
| |
| unsigned int | getNDF () const |
| |
| virtual void | setData (const TMatrixT< Double_t > &st, const GFDetPlane &pl, const TMatrixT< Double_t > *cov=NULL) |
| |
| void | setCov (const TMatrixT< Double_t > &aCov) |
| |
| void | setFirstState (const TMatrixT< Double_t > &aState) |
| |
| void | setFirstCov (const TMatrixT< Double_t > &aCov) |
| |
| void | setFirstPlane (const GFDetPlane &aPlane) |
| |
| void | setLastState (const TMatrixT< Double_t > &aState) |
| |
| void | setLastCov (const TMatrixT< Double_t > &aCov) |
| |
| void | setLastPlane (const GFDetPlane &aPlane) |
| |
| const GFDetPlane & | getReferencePlane () const |
| |
| void | setChiSqu (double aChiSqu) |
| |
| void | setNDF (unsigned int n) |
| |
| void | addChiSqu (double aChiSqu) |
| |
| void | addNDF (unsigned int n) |
| |
| void | setStatusFlag (int _val) |
| |
| virtual void | switchDirection ()=0 |
| |
| bool | setInverted (bool f=true) |
| | Deprecated. Should be removed soon. More...
|
| |
| bool | getStatusFlag () |
| |
| virtual void | reset () |
| |
Base Class for genfit track representations. Defines interface for track parameterizations.
- Author
- Christian Höppner (Technische Universität München, original author)
-
Sebastian Neubert (Technische Universität München, original author)
It is important to understand the difference between a track and a track representation in genfit:
- A track representation is a specific parameterization of a trajectory. It contains the parameters that describe the track at some point and code for the extrapolation of the track parameters through space. The actual extrapolation code is not part of genfit but has to be supplied in some additional package (e.g. GEANE). LSLTrackRep is a very basic example of a track representation.
- A Track is a collection of RecoHits (see GFAbsRecoHit) plus a collection of track representation objects. The hits can be from different detectors. There can be several representations of the same track. This makes it possible to perform several fits in parallel, for example to compare different parameterizations or to fit different particle hypotheses.
All track tepresentations must inherit GFAbsTrackRep to be available in genfit. Algorithms in genfit use this class as interface to access track parameters
Provides:
- Matrix objects to store track parameters
- ... and covariances
- interface to track extrapolation code
The track extrapolation engine can be exchanged in genfit. Or one can even use more than one engine in parallel! In order to use a track extrapolation engine (like e.g. GEANE) with genfit one has to write a TrackRep class that inherits from GFAbsTrackRep. This makes it possible to uses different track extrapolation codes within a unified framework without major changes in the detector code.
There is only one thing one has to do to use a specific track representation together with the hits from a detector: add the respective code in the GFAbsRecoHit::getHMatrix method implementation of the RecoHit in question.
Definition at line 83 of file GFAbsTrackRep.h.
| void genf::GFAbsTrackRep::extrapolateToLine |
( |
const TVector3 & |
point1, |
|
|
const TVector3 & |
point2, |
|
|
TVector3 & |
poca, |
|
|
TVector3 & |
normVec, |
|
|
TVector3 & |
poca_onwire |
|
) |
| |
|
virtual |
This method extrapolates to the point of closest approach to a line.
This method extrapolates to the POCA to a line, i.e. a wire. There is a default implementation just like for the extrapolateToPoca for trackReps which do not need this feature, which will abort the execution if it is ever called.
Reimplemented in genf::RKTrackRep, and genf::SlTrackRep.
Definition at line 62 of file GFAbsTrackRep.cxx.
67 Abort(
"extrapolateToLine()");
void Abort(std::string method)