17#include "TrkBase/TrkHitOnTrk.h"
19#include "TrkBase/TrkRecoTrk.h"
20#include "TrkBase/TrkFundHit.h"
21#include "TrkBase/TrkRep.h"
22#include "TrkBase/TrkDifTraj.h"
23#include "TrkBase/TrkPoca.h"
24#include "TrkBase/TrkDifPoca.h"
25#include "TrkBase/TrkSimpTraj.h"
51 _theHit(oldHit._theHit),
52 _isActive(oldHit._isActive),
53 _isUsable(oldHit._isUsable),
54 _hitRms(oldHit._hitRms),
55 _trkLen(oldHit._trkLen),
56 _hitLen(oldHit._hitLen),
60 _tolerance(oldHit._tolerance)
69 double fl = oldHit.
fltLen();
127 return double(1) / ( rms * rms );
134 o <<
" hitlen " <<
hitLen()
136 <<
" act " << (
isActive() != 0) << endl;
193 double r(-99999.9),re(-9999.9);
195 if (!
s && r<-99999.8) {
196#ifdef MDCPATREC_ROUTINE
197 std::cout<<
"ErrMsg(routine) "
198 <<
"error calling parentRep()->residual()" << std::endl;
231#ifdef MDCPATREC_WARNING
232 std::cout<<
"ErrMsg(warning) "
233 <<
" TrkPoca failed in TrkHitOnTrk::updatePoca"
243 if (!maintainAmb)
setAmbig(dca>0?+1:-1);
259 if (derivs.num_row() != 0) {
264 double sigInv = 1. /
hitRms();
265 deltaChi =
_resid * sigInv;
282 x.print(o);
return o;
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
PdtPid::PidType defaultType() 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