LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "GFAbsRecoHit.h"
Public Member Functions | |
virtual | ~GFAbsRecoHit () |
GFAbsRecoHit (int NparHit) | |
Constructor specifying dimension of coordinate vector. More... | |
GFAbsRecoHit () | |
Default constructor needed for compatibility with ROOT. More... | |
virtual TMatrixT< Double_t > | getHMatrix (const GFAbsTrackRep *stateVector)=0 |
Get transformation matrix. Transformation between hit coordinates and track representation coordinates. More... | |
virtual TMatrixT< Double_t > | getHMatrix (const GFAbsTrackRep *stateVector, const Double_t &, const Double_t &)=0 |
virtual TMatrixT< Double_t > | residualVector (const GFAbsTrackRep *stateVector, const TMatrixT< Double_t > &state, const GFDetPlane &d) |
Calculate residual with respect to a track representation. More... | |
virtual TMatrixT< Double_t > | residualVector (const GFAbsTrackRep *stateVector, const TMatrixT< Double_t > &state, const GFDetPlane &d, const GFDetPlane &dPrev, const double &mass) |
TMatrixT< Double_t > | getRawHitCov () const |
Get raw hit covariances. More... | |
TMatrixT< Double_t > | getRawHitCoord () const |
Get raw hit coordinates. More... | |
virtual TMatrixT< Double_t > | getHitCov (const GFDetPlane &)=0 |
Get hit covariances in a specific detector plane. More... | |
virtual TMatrixT< Double_t > | getHitCov (const GFDetPlane &, const GFDetPlane &, const TMatrixT< Double_t > &, const Double_t &)=0 |
virtual TMatrixT< Double_t > | getHitCoord (const GFDetPlane &, const GFDetPlane &)=0 |
Get hit coordinates in a specific detector plane. More... | |
virtual TMatrixT< Double_t > | getHitCoord (const GFDetPlane &)=0 |
virtual const GFDetPlane & | getDetPlane (GFAbsTrackRep *)=0 |
Get detector plane for a given track representation. More... | |
virtual GFAbsRecoHit * | clone ()=0 |
Get clone of this object. More... | |
virtual void | Print (std::ostream &out=std::cout) const |
Print raw hit coordinates. More... | |
virtual const std::string & | getPolicyName () |
int | getNparHit () |
Protected Attributes | |
TMatrixT< Double_t > | fHitCoord |
Vector of raw coordinates of hit. More... | |
TMatrixT< Double_t > | fHitCov |
Covariance of raw hit coordinates. More... | |
Private Member Functions | |
virtual void | Print (Option_t *) const |
Private Attributes | |
int | fNparHit |
Definition at line 78 of file GFAbsRecoHit.h.
|
virtual |
Definition at line 29 of file GFAbsRecoHit.cxx.
genf::GFAbsRecoHit::GFAbsRecoHit | ( | int | NparHit | ) |
Constructor specifying dimension of coordinate vector.
One hit is generally represented by a vector of coordinates.
NparHit | specifies the dimension of this vector. (e.g. 3 for a spacepoint, 2 for a pixel, 1 for a strip) |
Definition at line 23 of file GFAbsRecoHit.cxx.
genf::GFAbsRecoHit::GFAbsRecoHit | ( | ) |
Default constructor needed for compatibility with ROOT.
Definition at line 27 of file GFAbsRecoHit.cxx.
|
pure virtual |
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 genf::PointHit.
Referenced by getRawHitCoord().
|
pure virtual |
Get detector plane for a given track representation.
Virtual abstract method has to be implemented by inherting classes.
In general the detector plane can depend both on the detector/hit geometry as well as the track geometry. E.g. for a space point one usually chooses a plane that is perpendicular to the current track, since in that case no other plane is predefined.
There are several implementations for this method in the HitPolicies. In the most simple case (a planar detector) the method just returns a fixed (detector module specific) plane. This behaviour for example is implemented in PlanarHitPolicy.
Implemented in genf::GFRecoHitIfc< HitPolicy >.
Referenced by genf::GFKalman::getChi2Hit(), getRawHitCoord(), genf::GFTrack::getResiduals(), and genf::GFKalman::processHit().
|
pure virtual |
Get hit coordinates in a specific detector plane.
Virtual abstract method has to be implemented by inherting classes. Implementation involves transformation from raw coordinates in detector coordinate system to detector plane coordinate system.
Implemented in genf::GFRecoHitIfc< HitPolicy >.
Referenced by getRawHitCoord(), and residualVector().
|
pure virtual |
Implemented in genf::GFRecoHitIfc< HitPolicy >.
|
pure virtual |
Get hit covariances in a specific detector plane.
Virtual abstract method has to be implemented by inherting classes. Implementation involves transformation from raw coordinates in detector coordinate system to detector plane coordinate system.
Implemented in genf::GFRecoHitIfc< HitPolicy >.
Referenced by genf::GFKalman::getChi2Hit(), getRawHitCoord(), and genf::GFKalman::processHit().
|
pure virtual |
Implemented in genf::GFRecoHitIfc< HitPolicy >.
|
pure virtual |
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 genf::PointHit.
Referenced by genf::GFKalman::getChi2Hit(), genf::GFKalman::processHit(), and residualVector().
|
pure virtual |
Implemented in genf::PointHit.
|
inline |
|
virtual |
Reimplemented in genf::GFRecoHitIfc< HitPolicy >.
Definition at line 34 of file GFAbsRecoHit.cxx.
Referenced by Print().
|
inline |
Get raw hit coordinates.
Definition at line 185 of file GFAbsRecoHit.h.
References clone(), fHitCoord, getDetPlane(), getHitCoord(), and getHitCov().
Referenced by genf::GFWireHitPolicy::checkPlane(), genf::GFWirepointHitPolicy::checkPlane(), genf::GFWirepointHitPolicy::detPlane(), genf::GFWireHitPolicy::detPlane(), genf::GFSpacepointHitPolicy::detPlane(), genf::GFWirepointHitPolicy::hitCoord(), genf::GFWireHitPolicy::hitCoord(), genf::GFSpacepointHitPolicy::hitCoord(), genf::GFPlanarHitPolicy::hitCoord(), and genf::GFKalman::processHit().
|
inline |
Get raw hit covariances.
Definition at line 180 of file GFAbsRecoHit.h.
References fHitCov.
Referenced by genf::GFWireHitPolicy::hitCov(), genf::GFWirepointHitPolicy::hitCov(), genf::GFSpacepointHitPolicy::hitCov(), and genf::GFPlanarHitPolicy::hitCov().
|
inlinevirtual |
Print raw hit coordinates.
Definition at line 236 of file GFAbsRecoHit.h.
References getPolicyName(), and genf::PrintROOTobject().
|
inlineprivatevirtual |
Definition at line 246 of file GFAbsRecoHit.h.
|
inlinevirtual |
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 149 of file GFAbsRecoHit.h.
References getHitCoord(), and getHMatrix().
Referenced by genf::GFKalman::getChi2Hit(), genf::GFTrack::getResiduals(), and genf::GFKalman::processHit().
|
inlinevirtual |
Definition at line 160 of file GFAbsRecoHit.h.
References larg4::dist(), getHitCoord(), getHMatrix(), and genf::GFDetPlane::getO().
|
protected |
Vector of raw coordinates of hit.
Definition at line 81 of file GFAbsRecoHit.h.
Referenced by getRawHitCoord(), and genf::PointHit::PointHit().
|
protected |
Covariance of raw hit coordinates.
Definition at line 84 of file GFAbsRecoHit.h.
Referenced by getRawHitCov(), and genf::PointHit::PointHit().
|
private |
Definition at line 87 of file GFAbsRecoHit.h.
Referenced by getNparHit().