![]() |
PandaRoot
|
Wrapper class for use with GFDaf. More...
#include <GFDafHit.h>
Public Member Functions | |
GFDafHit () | |
~GFDafHit () | |
GFDafHit (std::vector< GFAbsRecoHit *> HitsInPlane) | |
Constructor adding hits. More... | |
TMatrixT< double > | getHitCoord (const GFDetPlane &pl) |
Get the hit coordinates. More... | |
TMatrixT< double > | getHitCov (const GFDetPlane &pl) |
Get the hit covariance. More... | |
TMatrixT< double > | getHMatrix (const GFAbsTrackRep *rep) |
Get the H matrix. More... | |
GFDafHit * | clone () |
Get clone of this object. More... | |
const GFDetPlane & | getDetPlane (GFAbsTrackRep *rep) |
Get the detector plane. More... | |
void | setWeights (std::vector< double > weights) |
Set the weights. More... | |
void | setBlowUp (double blow_up) |
Set the \(\beta\) blow up factor for the covariance matrices. More... | |
unsigned int | getNumHits () |
Get the number of hits in the GFDafHit. More... | |
GFAbsRecoHit * | getHit (unsigned int ihit) |
Get at hit from the GFDafHit. More... | |
const std::string & | getPolicyName () |
Get the name of the hit policy. More... | |
![]() | |
virtual | ~GFAbsRecoHit () |
GFAbsRecoHit (int NparHit) | |
Constructor specifying dimension of coordinate vector. More... | |
GFAbsRecoHit () | |
Default constructor needed for compatibility with ROOT. 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 void | Print () |
Print raw hit coordinates. More... | |
int | getNparHit () |
Additional Inherited Members | |
![]() | |
TMatrixT< double > | fHitCoord |
Vector of raw coordinates of hit. More... | |
TMatrixT< double > | fHitCov |
Covariance of raw hit coordinates. More... | |
Wrapper class for use with GFDaf.
The GFDafHit is a hit class which acts as an effective hit. As the DAF is capable of handling multiple hits in one plane, but GFKalman cannot handle this, the GFDafHit combines all hits in one plane.
Definition at line 40 of file GFDafHit.h.
|
inline |
|
inline |
Definition at line 44 of file GFDafHit.h.
References clone(), getDetPlane(), getHitCoord(), getHitCov(), getHMatrix(), GFDafHit(), setBlowUp(), and setWeights().
GFDafHit::GFDafHit | ( | std::vector< GFAbsRecoHit *> | HitsInPlane | ) |
Constructor adding hits.
With this constructor, the GFDafHit is normally initialized. All the hits of the argument should be in one plane.
|
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!
Implements GFAbsRecoHit.
Referenced by ~GFDafHit().
|
virtual |
Get the detector plane.
Returns the plane as returned by GFDetPlan() of the first hit in the GFDafHit. This is valid because all hits are on the same plane.
Implements GFAbsRecoHit.
Referenced by ~GFDafHit().
GFAbsRecoHit* GFDafHit::getHit | ( | unsigned int | ihit | ) |
Get at hit from the GFDafHit.
Referenced by getNumHits().
|
virtual |
Get the hit coordinates.
Due to the nature of the GFDafHit, the coordinates returned are not necessarily the coordinates of the real hits. There are two cases: if the GFDafHit contains only one hit, then the hit coordinates of this hit are returned. If however, the GFDafHit contains several hits, then the following formula is used to obtain the hit coordinates:
\[ \mathbf{m} = \mathbf{V} \cdot \sum_{i}p_{i}\cdot \mathbf{V}_{i}^{-1}\cdot \mathbf{m}_{i} \]
with \(\mathbf{m_{i}}\) the real hit coordinates, \(\mathbf{V}_{i}\) the real hit covariance and \(p_{i}\) the weights. The sum runs over all real hits in the GFDafHit. \(\mathbf{V}\) is the effective hit covariance as returned by getHitCov(). This calculation is only done, if the plane has changed from the last time gitHitCoord() was called.
Implements GFAbsRecoHit.
Referenced by ~GFDafHit().
|
virtual |
Get the hit covariance.
Analog to getHitCoord(), there are two cases: if the GFDafHit contains only one hit, the covariance is calculated like:
\[ \mathbf{V} = \frac{1}{p_{1}}\cdot\beta\cdot\mathbf{V}_{1} \]
with \(\beta\) the blow up factor for the temperature annealing as set in setBlowUp() and the rest of the symbols analog to getHitCoord(). If there are several hits in the GFDafHit, the following formula is used:
\[ \mathbf{V} = \left( \sum_{i} p_{i} \cdot \left( \beta \mathbf{V}_{i}\right)^{-1} \right)^{-1} \]
As before, these calculations are only done if the plane is different from the one getHitCov was last called.
Implements GFAbsRecoHit.
Referenced by ~GFDafHit().
|
virtual |
Get the H matrix.
Returns the H matrix of the first hit in the GFDafHit. This is valid because all hits are on the same plane.
Implements GFAbsRecoHit.
Referenced by ~GFDafHit().
|
inline |
Get the number of hits in the GFDafHit.
Definition at line 120 of file GFDafHit.h.
References getHit(), and getPolicyName().
|
virtual |
Get the name of the hit policy.
Returns the name of the hit policy of the first hit in the GFDafHit. This is valid because if there are several hits, they all have to be planar hits.
Reimplemented from GFAbsRecoHit.
Referenced by getNumHits().
void GFDafHit::setBlowUp | ( | double | blow_up | ) |
Set the \(\beta\) blow up factor for the covariance matrices.
Set the \(\beta\) as used by getHitCoord() and getHitCov().
Referenced by ~GFDafHit().
void GFDafHit::setWeights | ( | std::vector< double > | weights | ) |
Set the weights.
Set the weights as used by getHitCoord() and getHitCov().
Referenced by ~GFDafHit().