LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "KHitMulti.h"
Public Member Functions | |
KHitMulti () | |
Default constructor. More... | |
KHitMulti (const std::shared_ptr< const Surface > &psurf) | |
Initializing Constructor – measurement surface only. More... | |
virtual | ~KHitMulti () |
Destructor. More... | |
int | getMeasDim () const |
Measurement space dimension. More... | |
const std::vector< std::shared_ptr< const KHit< 1 > > > & | getMeasVec () const |
Measurement collection. More... | |
const ublas::vector< double > & | getMeasVector () const |
Measurement vector. More... | |
const ublas::symmetric_matrix< double > & | getMeasError () const |
Measurement error matrix. More... | |
const ublas::vector< double > & | getPredVector () const |
Prediction vector. More... | |
const ublas::symmetric_matrix< double > & | getPredError () const |
Prediction matrix. More... | |
const ublas::vector< double > & | getResVector () const |
Residual vector. More... | |
const ublas::symmetric_matrix< double > & | getResError () const |
Residual error matrix. More... | |
const ublas::symmetric_matrix< double > & | getResInvError () const |
Residual inv. error matrix. More... | |
const ublas::matrix< double > & | getH () const |
Kalman H-matrix. More... | |
double | getChisq () const |
Incremental chisquare. More... | |
void | addMeas (const std::shared_ptr< const KHitBase > &pmeas) |
Add a measurement of unknown type. More... | |
void | addMeas (const std::shared_ptr< const KHit< 1 > > &pmeas) |
Add a one-dimensional measurement. More... | |
bool | predict (const KETrack &tre, const Propagator *prop=0, const KTrack *ref=0) const |
Prediction method (return false if fail). More... | |
void | update (KETrack &tre) const |
Update track method. More... | |
virtual std::ostream & | Print (std::ostream &out, bool doTitle=true) const |
Printout. More... | |
const std::shared_ptr< const Surface > & | getPredSurface () const |
Predition surface. More... | |
double | getPredDistance () const |
Prediction distance. More... | |
const std::shared_ptr< const Surface > & | getMeasSurface () const |
Measurement surface. More... | |
int | getMeasPlane () const |
Measurement plane index. More... | |
int | getID () const |
Unique id. More... | |
void | setMeasSurface (const std::shared_ptr< const Surface > &psurf) |
Measurement surface. More... | |
void | setMeasPlane (int plane) |
Measurement plane. More... | |
Protected Attributes | |
std::shared_ptr< const Surface > | fPredSurf |
Prediction surface. More... | |
double | fPredDist |
Prediction distance. More... | |
int | fID |
Unique id. More... | |
Private Attributes | |
int | fMeasDim |
Measurement space dimension. More... | |
std::vector< std::shared_ptr< const KHit< 1 > > > | fMeasVec |
Underlying measurements. More... | |
ublas::vector< double > | fMvec |
Measurement vector. More... | |
ublas::symmetric_matrix< double > | fMerr |
Measurement error matrix. More... | |
ublas::vector< double > | fPvec |
Prediction vector. More... | |
ublas::symmetric_matrix< double > | fPerr |
Prediction error matrix. More... | |
ublas::vector< double > | fRvec |
Residual vector. More... | |
ublas::symmetric_matrix< double > | fRerr |
Residual error matrix. More... | |
ublas::symmetric_matrix< double > | fRinv |
Residual inverse error matrix. More... | |
ublas::matrix< double > | fH |
Kalman H-matrix. More... | |
double | fChisq |
Incremental chisquare. More... | |
Definition at line 53 of file KHitMulti.h.
trkf::KHitMulti::KHitMulti | ( | ) |
trkf::KHitMulti::KHitMulti | ( | const std::shared_ptr< const Surface > & | psurf | ) |
Initializing Constructor – measurement surface only.
Initializing Constructor.
Arguments:
psurf - Measurement surface pointer.
Definition at line 28 of file KHitMulti.cxx.
|
virtual |
void trkf::KHitMulti::addMeas | ( | const std::shared_ptr< const KHitBase > & | pmeas | ) |
Add a measurement of unknown type.
Add a measurement.
Arguments:
pmeas - Measurement.
This method tries to dynamic cast the measurement to a supported type. If the dynamic cast fails, throw an exception.
Definition at line 47 of file KHitMulti.cxx.
Referenced by getChisq().
void trkf::KHitMulti::addMeas | ( | const std::shared_ptr< const KHit< 1 > > & | pmeas | ) |
Add a one-dimensional measurement.
Add a measurement.
Arguments:
pmeas - Measurement.
Definition at line 72 of file KHitMulti.cxx.
References fMeasDim, and fMeasVec.
|
inlinevirtual |
Incremental chisquare.
Implements trkf::KHitBase.
Definition at line 99 of file KHitMulti.h.
References addMeas(), fChisq, predict(), Print(), and update().
|
inline |
|
inlineinherited |
Unique id.
Definition at line 87 of file KHitBase.h.
References trkf::KHitBase::fID.
Referenced by trkf::KalmanFilterAlg::buildTrack(), trkf::KalmanFilterAlg::cleanTrack(), trkf::KalmanFilterAlg::extendTrack(), and trkf::KalmanFilterAlg::smoothTrack().
|
inline |
|
inline |
Measurement error matrix.
Definition at line 78 of file KHitMulti.h.
References fMerr.
|
inlineinherited |
Measurement plane index.
Definition at line 84 of file KHitBase.h.
References trkf::KHitBase::fMeasPlane.
Referenced by trkf::KalmanFilterAlg::buildTrack(), trkf::KalmanFilterAlg::cleanTrack(), trkf::KalmanFilterAlg::extendTrack(), and trkf::KGTrack::Print().
|
inlineinherited |
Measurement surface.
Definition at line 81 of file KHitBase.h.
References trkf::KHitBase::fMeasSurf.
Referenced by trkf::KHit< N >::predict(), trkf::KHitWireX::subpredict(), and trkf::KHitWireLine::subpredict().
|
inline |
Measurement collection.
Definition at line 72 of file KHitMulti.h.
References fMeasVec.
|
inline |
|
inlineinherited |
Prediction distance.
Definition at line 78 of file KHitBase.h.
References trkf::KHitBase::fPredDist.
Referenced by trkf::KalmanFilterAlg::buildTrack(), and trkf::KalmanFilterAlg::extendTrack().
|
inline |
Prediction matrix.
Definition at line 84 of file KHitMulti.h.
References fPerr.
|
inlineinherited |
Predition surface.
Definition at line 75 of file KHitBase.h.
References trkf::KHitBase::fPredSurf.
Referenced by update(), and trkf::KHit< N >::update().
|
inline |
|
inline |
Residual error matrix.
Definition at line 90 of file KHitMulti.h.
References fRerr.
|
inline |
Residual inv. error matrix.
Definition at line 93 of file KHitMulti.h.
References fRinv.
|
inline |
|
virtual |
Prediction method (return false if fail).
Prediction method (return false if fail).
Arguments:
tre - Track hypothesis. prop - Propagator. ref - Reference track.
Returns: True if success.
This class calls the predict method of each underlying measurement and updates the combined prediction attributes.
Implements trkf::KHitBase.
Definition at line 98 of file KHitMulti.cxx.
References fChisq, fH, fMeasDim, fMeasVec, fMerr, fMvec, fPerr, trkf::KHitBase::fPredDist, trkf::KHitBase::fPredSurf, fPvec, fRerr, fRinv, fRvec, trkf::KETrack::getError(), trkf::KHit< N >::getH(), trkf::KHit< N >::getMeasError(), trkf::KHit< N >::getMeasVector(), trkf::KHit< N >::getPredVector(), trkf::KTrack::getSurface(), trkf::KTrack::getVector(), trkf::KHit< N >::predict(), and trkf::syminvert().
Referenced by getChisq().
|
virtual |
Printout.
Reimplemented from trkf::KHitBase.
Definition at line 247 of file KHitMulti.cxx.
Referenced by getChisq().
|
inlineinherited |
Measurement plane.
Definition at line 95 of file KHitBase.h.
References trkf::KHitBase::fMeasPlane, trkf::KHitBase::getChisq(), trkf::KHitBase::predict(), trkf::KHitBase::Print(), and trkf::KHitBase::update().
Referenced by trkf::KHitWireLine::KHitWireLine(), and trkf::KHitWireX::KHitWireX().
|
inlineinherited |
Measurement surface.
Definition at line 92 of file KHitBase.h.
References trkf::KHitBase::fMeasSurf.
Referenced by trkf::KHitWireLine::KHitWireLine(), and trkf::KHitWireX::KHitWireX().
|
virtual |
Update track method.
Update track method.
Arguments:
tre - Track to be updated.
This method is almost an exact copy of the update method in KHit<N>.
Implements trkf::KHitBase.
Definition at line 205 of file KHitMulti.cxx.
References fH, fMeasDim, fMerr, fRinv, fRvec, trkf::KETrack::getError(), trkf::KHitBase::getPredSurface(), trkf::KTrack::getSurface(), trkf::KTrack::getVector(), trkf::KETrack::setError(), and trkf::KTrack::setVector().
Referenced by getChisq().
|
mutableprivate |
Incremental chisquare.
Definition at line 135 of file KHitMulti.h.
Referenced by getChisq(), and predict().
|
mutableprivate |
Kalman H-matrix.
Definition at line 134 of file KHitMulti.h.
|
protectedinherited |
Unique id.
Definition at line 118 of file KHitBase.h.
Referenced by trkf::KHitBase::getID(), trkf::KHitWireLine::KHitWireLine(), and trkf::KHitWireX::KHitWireX().
|
private |
Measurement space dimension.
Definition at line 125 of file KHitMulti.h.
Referenced by addMeas(), getMeasDim(), predict(), and update().
|
private |
Underlying measurements.
Definition at line 126 of file KHitMulti.h.
Referenced by addMeas(), getMeasVec(), and predict().
|
mutableprivate |
Measurement error matrix.
Definition at line 128 of file KHitMulti.h.
Referenced by getMeasError(), predict(), and update().
|
mutableprivate |
Measurement vector.
Definition at line 127 of file KHitMulti.h.
Referenced by getMeasVector(), and predict().
|
mutableprivate |
Prediction error matrix.
Definition at line 130 of file KHitMulti.h.
Referenced by getPredError(), and predict().
|
mutableprotectedinherited |
Prediction distance.
Definition at line 117 of file KHitBase.h.
Referenced by trkf::KHitBase::getPredDistance(), predict(), trkf::KHit< N >::predict(), and trkf::KHitBase::Print().
|
mutableprotectedinherited |
Prediction surface.
Definition at line 116 of file KHitBase.h.
Referenced by trkf::KHitBase::getPredSurface(), predict(), trkf::KHit< N >::predict(), and trkf::KHitBase::Print().
|
mutableprivate |
Prediction vector.
Definition at line 129 of file KHitMulti.h.
Referenced by getPredVector(), and predict().
|
mutableprivate |
Residual error matrix.
Definition at line 132 of file KHitMulti.h.
Referenced by getResError(), and predict().
|
mutableprivate |
Residual inverse error matrix.
Definition at line 133 of file KHitMulti.h.
Referenced by getResInvError(), predict(), and update().
|
mutableprivate |
Residual vector.
Definition at line 131 of file KHitMulti.h.
Referenced by getResVector(), predict(), and update().