FairRoot/PandaRoot
|
RecoHit interface template class. Provides comfortable interface to create RecoHits. More...
#include <GFRecoHitIfc.h>
Public Member Functions | |
GFRecoHitIfc (int dim) | |
Constructor specifying dimension of hit coordinate vector. More... | |
virtual | ~GFRecoHitIfc () |
virtual const GFDetPlane & | getDetPlane (GFAbsTrackRep *rep) |
Returns the detector plane object for this hit and a given track representation. More... | |
virtual TMatrixT< double > | getHitCoord (const GFDetPlane &plane) |
Get hit coordinates in a specific detector plane. More... | |
virtual TMatrixT< double > | getHitCov (const GFDetPlane &plane) |
Get hit covariances in a specific detector plane. More... | |
const std::string & | getPolicyName () |
ClassDef (GFRecoHitIfc, 1) | |
virtual TMatrixT< double > | getHMatrix (const GFAbsTrackRep *stateVector)=0 |
Get transformation matrix. Transformation between hit coordinates and track representation coordinates. More... | |
virtual TMatrixT< double > | residualVector (const GFAbsTrackRep *stateVector, const TMatrixT< double > &state, const GFDetPlane &d) |
Calculate residual with respect to a track representation. More... | |
TMatrixT< double > | getRawHitCov () const |
Get raw hit covariances. More... | |
TMatrixT< double > | getRawHitCoord () const |
Get raw hit coordinates. More... | |
virtual GFAbsRecoHit * | clone ()=0 |
Get clone of this object. More... | |
virtual void | Print () |
Print raw hit coordinates. More... | |
int | getNparHit () |
Protected Attributes | |
HitPolicy | fPolicy |
TMatrixT< double > | fHitCoord |
Vector of raw coordinates of hit. More... | |
TMatrixT< double > | fHitCov |
Covariance of raw hit coordinates. More... | |
RecoHit interface template class. Provides comfortable interface to create RecoHits.
This class defines a comfortable interface to create hit classes in genfit. It is a template class. The template parameter is used to specify a certain basic type of hit:
To create a hit for a detector simply inherit from one of the options above and fill in your data. For details look at the respective HitPolicy documentations. You can also directly inherit from GFAbsRecoHit though this is not recommended. If a new hit geometry is needed one should think about implementing a new HitPolicy for this type of hit.
Implementation details: The actual implementations of the methods declared here can be found in the HitPolicy objects.
Definition at line 60 of file GFRecoHitIfc.h.
|
inline |
Constructor specifying dimension of hit coordinate vector.
Definition at line 68 of file GFRecoHitIfc.h.
|
inlinevirtual |
Definition at line 69 of file GFRecoHitIfc.h.
GFRecoHitIfc< HitPolicy >::ClassDef | ( | GFRecoHitIfc< HitPolicy > | , |
1 | |||
) |
|
pure virtualinherited |
Get clone of this object.
Virtual abstract method. Has to be implemented by inherting classes. Creates a deep copy of this object. Ownership is trandsferred to the caller!
Implemented in GFDafHit, PndHypRecoHit, PndMdtRecoHit, PndGemRecoHit, PndHypRecoSPHit, PndSdsRecoHit, PndHitRecoHit, PndFtsRecoHit, and PndSttRecoHit.
|
inlinevirtual |
Returns the detector plane object for this hit and a given track representation.
The actutal code for this method depends on the hit geometry and is implemented in the HitPolicy
Implements GFAbsRecoHit.
Definition at line 80 of file GFRecoHitIfc.h.
|
inlinevirtual |
Get hit coordinates in a specific detector plane.
Implementation in the HitPolicy
Implements GFAbsRecoHit.
Definition at line 86 of file GFRecoHitIfc.h.
|
inlinevirtual |
Get hit covariances in a specific detector plane.
Implementation in the HitPolicy
Implements GFAbsRecoHit.
Definition at line 93 of file GFRecoHitIfc.h.
|
pure virtualinherited |
Get transformation matrix. Transformation between hit coordinates and track representation coordinates.
This is a virtual abstract method which has to be implemented in the child classes.
In general there is a linear transformation between the coordinate system of the hit (which is defined by the detector plane) and the coordinates of the track representation in that plane. In the most simple case the track representation has 5 parameters (space + momentum) while a hit usually has less (one to three space coordinates).
The transformation matrix is then simply projecting out the space-components of the track representation.
Its dimensions are NxM. Where N is the number of dimensions of the hit in the detector plane (usually 2 or 1) and M is the dimension of the track representation.
In this method a hit has to define with which track representations it can work together. It should be the only point where this explicit coordination is necessary.
For example code see implementing classes below:
Implemented in GFDafHit, PndHypRecoHit, PndMdtRecoHit, PndGemRecoHit, PndSdsRecoHit, PndHypRecoSPHit, PndHitRecoHit, PndFtsRecoHit, and PndSttRecoHit.
Referenced by GFTools::getBiasedSmoothedCov(), GFTools::getBiasedSmoothedPos(), GFKalman::getChi2Hit(), GFTools::getSmoothedChiSqu(), GFTools::getSmoothedCov(), GFTools::getSmoothedPos(), GFKalman::processHit(), and GFAbsRecoHit::residualVector().
|
inlineinherited |
|
inlinevirtual |
|
inlineinherited |
Get raw hit coordinates.
Definition at line 158 of file GFAbsRecoHit.h.
References GFAbsRecoHit::fHitCoord.
Referenced by GFWirepointHitPolicy::checkPlane(), GFWireHitPolicy::checkPlane(), GFWirepointHitPolicy::detPlane(), GFWireHitPolicy::detPlane(), GFSpacepointHitPolicy::detPlane(), GFTools::getSmoothedChiSqu(), GFWirepointHitPolicy::hitCoord(), GFWireHitPolicy::hitCoord(), GFSpacepointHitPolicy::hitCoord(), and GFPlanarHitPolicy::hitCoord().
|
inlineinherited |
Get raw hit covariances.
Definition at line 153 of file GFAbsRecoHit.h.
References GFAbsRecoHit::fHitCov.
Referenced by GFTools::getSmoothedChiSqu(), GFWirepointHitPolicy::hitCov(), GFWireHitPolicy::hitCov(), GFSpacepointHitPolicy::hitCov(), and GFPlanarHitPolicy::hitCov().
|
inlinevirtualinherited |
Print raw hit coordinates.
Definition at line 207 of file GFAbsRecoHit.h.
|
inlinevirtualinherited |
Calculate residual with respect to a track representation.
Returns the N-dimensional residual of this vector to a given track representation.
This method is not doing any extrapolation. But it creates the necessary detector plane object. See GFAbsRecoHit::getGFDetPlane
stateVector | pointer to track representation - used to synchronize with the track repesentation |
state | parameter vector of the track representation |
Definition at line 142 of file GFAbsRecoHit.h.
References GFAbsRecoHit::getHitCoord(), and GFAbsRecoHit::getHMatrix().
Referenced by GFKalman::getChi2Hit(), GFTrack::getResiduals(), and GFKalman::processHit().
|
protectedinherited |
Vector of raw coordinates of hit.
Definition at line 76 of file GFAbsRecoHit.h.
Referenced by GFDafHit::getHitCoord(), GFDafHit::getHitCov(), GFAbsRecoHit::getRawHitCoord(), PndFtsRecoHit::PndFtsRecoHit(), PndGemRecoHit::PndGemRecoHit(), PndHitRecoHit::PndHitRecoHit(), PndHypRecoHit::PndHypRecoHit(), PndHypRecoSPHit::PndHypRecoSPHit(), PndMdtRecoHit::PndMdtRecoHit(), PndSdsRecoHit::PndSdsRecoHit(), and PndSttRecoHit::PndSttRecoHit().
|
protectedinherited |
Covariance of raw hit coordinates.
Definition at line 79 of file GFAbsRecoHit.h.
Referenced by GFDafHit::getHitCoord(), GFDafHit::getHitCov(), GFAbsRecoHit::getRawHitCov(), PndFtsRecoHit::PndFtsRecoHit(), PndGemRecoHit::PndGemRecoHit(), PndHitRecoHit::PndHitRecoHit(), PndHypRecoHit::PndHypRecoHit(), PndHypRecoSPHit::PndHypRecoSPHit(), PndMdtRecoHit::PndMdtRecoHit(), PndSdsRecoHit::PndSdsRecoHit(), and PndSttRecoHit::PndSttRecoHit().
|
protected |
Definition at line 62 of file GFRecoHitIfc.h.
Referenced by PndFtsRecoHit::PndFtsRecoHit(), and PndSttRecoHit::PndSttRecoHit().