17#include "TrkBase/TrkHitOnTrk.h"
18#include "TrkBase/TrkDifPoca.h"
19#include "TrkBase/TrkDifTraj.h"
20#include "TrkBase/TrkFundHit.h"
21#include "TrkBase/TrkPoca.h"
22#include "TrkBase/TrkRecoTrk.h"
23#include "TrkBase/TrkRep.h"
24#include "TrkBase/TrkSimpTraj.h"
61 assert( 0 != newRep );
71 double fl = oldHit.
fltLen();
120 return double( 1 ) / ( rms * rms );
154 double r( -99999.9 ), re( -9999.9 );
156 if ( !
s && r < -99999.8 )
158#ifdef MDCPATREC_ROUTINE
159 std::cout <<
"ErrMsg(routine) "
160 <<
"error calling parentRep()->residual()" << std::endl;
181 if (
_poca->status().failure() )
185#ifdef MDCPATREC_WARNING
186 std::cout <<
"ErrMsg(warning) "
187 <<
" TrkPoca failed in TrkHitOnTrk::updatePoca" << std::endl;
196 double dca =
_poca->doca();
197 if ( !maintainAmb )
setAmbig( dca > 0 ? +1 : -1 );
207 if ( derivs.num_row() != 0 ) { poca.
fetchDerivs( derivs ); }
208 else { derivs = poca.
derivs(); }
209 double sigInv = 1. /
hitRms();
210 deltaChi =
_resid * sigInv;
ostream & operator<<(ostream &o, const TrkHitOnTrk &x)
virtual const TrkDifTraj & traj() const =0
void fetchDerivs(HepVector &) const
const HepVector derivs() const
virtual const TrkSimpTraj * localTrajectory(double fltLen, double &localFlt) const =0
const TrkHitOnTrk * setUnusedHit(const TrkHitOnTrk *hit)
virtual void printAll(std::ostream &os) const
const TrkHitOnTrk * setUsedHit(const TrkHitOnTrk *hit)
void setActivity(bool turnOn)
TrkErrCode updatePoca(const TrkDifTraj *trkTraj, bool maintainAmbiguity)
void setUsability(int usability)
TrkRep * parentRep() const
double resid(bool exclude=false) const
virtual void setAmbig(int newambig)
TrkHitOnTrk(const TrkFundHit *, double tolerance)
virtual const Trajectory * hitTraj() const =0
const TrkRecoTrk * getParentTrack() const
virtual const SvtHitOnTrack * svtHitOnTrack() const
virtual const MdcHitOnTrack * mdcHitOnTrack() const
PdtPid::PidType particleType() const
TrkRecoTrk * parentTrack() const
const TrkRep * getParentRep() const
bool operator==(const TrkHitOnTrk &) const
const TrkFundHit * hit() const
virtual int ambig() const
TrkErrCode getFitStuff(HepVector &derivs, double &deltaChi) const
virtual void print(std::ostream &) const
virtual void printAll(std::ostream &) const
const TrkDifTraj * _trkTraj
const TrkDifTraj * trkTraj() const
const TrkErrCode & status() const
TrkRecoTrk * parentTrack()
virtual PdtPid::PidType particleType() const
virtual void deactivateHot(TrkHitOnTrk *theHot)
virtual void activateHot(TrkHitOnTrk *theHot)
virtual bool resid(const TrkHitOnTrk *theHot, double &residual, double &residErr, bool exclude=false) const