#include <TrkHitOnTrk.h>
Inheritance diagram for TrkHitOnTrk:
Public Types | |
typedef std::unary_function< TrkHitOnTrk, bool > | predicate_type |
Public Member Functions | |
TrkHitOnTrk (const TrkFundHit *, double tolerance) | |
virtual | ~TrkHitOnTrk () |
virtual TrkHitOnTrk * | clone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0 |
const TrkRecoTrk * | getParentTrack () const |
const TrkRep * | getParentRep () const |
PdtPid::PidType | particleType () const |
const TrkFundHit * | hit () const |
TrkFundHit * | hit () |
const TrkDifTraj * | trkTraj () const |
virtual const MdcHitOnTrack * | mdcHitOnTrack () const |
virtual const SvtHitOnTrack * | svtHitOnTrack () const |
bool | isActive () const |
bool | isUsable () const |
bool | mustUse () const |
virtual TrkEnums::TrkViewInfo | whatView () const =0 |
virtual unsigned | layerNumber () const =0 |
double | hitRms () const |
double | weight () const |
double | fltLen () const |
double | hitLen () const |
virtual int | ambig () const |
virtual void | setAmbig (int newambig) |
bool | operator== (const TrkHitOnTrk &) const |
bool | operator< (const TrkHitOnTrk &rhs) const |
virtual const Trajectory * | hitTraj () const =0 |
bool | hasResidual () const |
TrkErrCode | getFitStuff (HepVector &derivs, double &deltaChi) const |
TrkErrCode | getFitStuff (double &deltaChi) const |
double | resid (bool exclude=false) const |
bool | resid (double &resid, double &residErr, bool exclude=false) const |
double | residual () const |
virtual bool | timeResid (double &resid, double &error) const =0 |
virtual bool | timeAbsolute (double &time, double &error) const =0 |
TrkRecoTrk * | parentTrack () const |
void | setActivity (bool turnOn) |
void | setUsability (int usability) |
void | setFltLen (double f) |
void | setHitRms (double newRms) |
virtual void | print (std::ostream &) const |
virtual void | printAll (std::ostream &) const |
Protected Member Functions | |
TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0) | |
void | setHitResid (double newResid) |
TrkRep * | parentRep () const |
void | setHitLen (double h) |
void | setUsedHit () |
void | setUnusedHit () |
virtual TrkErrCode | updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)=0 |
TrkErrCode | updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity) |
Protected Attributes | |
TrkRep * | _parentRep |
TrkFundHit * | _theHit |
bool | _isActive |
int | _isUsable |
double | _hitRms |
double | _trkLen |
double | _hitLen |
double | _resid |
const TrkDifTraj * | _trkTraj |
TrkPoca * | _poca |
double | _tolerance |
Private Member Functions | |
TrkHitOnTrk & | operator= (const TrkHitOnTrk &) |
TrkHitOnTrk (const TrkHitOnTrk &hit) | |
TrkHitOnTrk * | setActive (bool active) |
TrkHitOnTrk * | setParent (TrkRep *rep) |
Friends | |
class | TrkHotList |
class | TrkRecoTrk |
class | TrkRep |
class | TrkHitOnTrkUpdater |
class | TrkBase::Functors::updateMeasurement |
class | TrkBase::Functors::setActive |
class | TrkBase::Functors::setParent |
Definition at line 52 of file TrkHitOnTrk.h.
typedef std::unary_function<TrkHitOnTrk,bool> TrkHitOnTrk::predicate_type |
Definition at line 58 of file TrkHitOnTrk.h.
TrkHitOnTrk::TrkHitOnTrk | ( | const TrkFundHit * | , | |
double | tolerance | |||
) |
Definition at line 33 of file TrkHitOnTrk.cxx.
00033 : 00034 _parentRep(0), 00035 _theHit(const_cast<TrkFundHit*>(hit)), 00036 _isActive(true), 00037 _isUsable(true), 00038 //make caches invalid 00039 _hitRms(-9.e50), 00040 _trkLen(0.0), 00041 _hitLen(0.0), 00042 _trkTraj(0), 00043 _poca(0), 00044 _tolerance(tolerance) 00045 { }
TrkHitOnTrk::~TrkHitOnTrk | ( | ) | [virtual] |
Definition at line 87 of file TrkHitOnTrk.cxx.
References _poca, getParentRep(), hit(), and setUnusedHit().
00088 { 00089 delete _poca; 00090 if ( hit() != 0 && getParentRep() != 0 ) { 00091 setUnusedHit(); 00092 } 00093 }
TrkHitOnTrk::TrkHitOnTrk | ( | const TrkHitOnTrk & | hitToBeCopied, | |
TrkRep * | newRep, | |||
const TrkDifTraj * | trkTraj = 0 | |||
) | [protected] |
Definition at line 48 of file TrkHitOnTrk.cxx.
References _poca, _resid, _trkTraj, fltLen(), getParentRep(), getParentTrack(), TrkDifTraj::localTrajectory(), DifIndepPar::parameter(), TrkSimpTraj::parameters(), particleType(), setUsedHit(), and trkTraj().
00050 : _parentRep(newRep), 00051 _theHit(oldHit._theHit), 00052 _isActive(oldHit._isActive), 00053 _isUsable(oldHit._isUsable), 00054 _hitRms(oldHit._hitRms), 00055 _trkLen(oldHit._trkLen), 00056 _hitLen(oldHit._hitLen), 00057 _resid(9999.9), 00058 _trkTraj(0), 00059 _poca(0), 00060 _tolerance(oldHit._tolerance) 00061 { 00062 assert (0 != newRep); 00063 if( oldHit._trkTraj!=0 && trkTraj!=0 && oldHit._trkTraj == trkTraj ) { 00064 // re-use cache as traj are the same 00065 _resid=oldHit._resid; 00066 _trkTraj=trkTraj; 00067 _poca = (oldHit._poca==0 ? 0 :new TrkPoca(*oldHit._poca)); 00068 } else { 00069 double fl = oldHit.fltLen(); 00070 double dum; 00071 const TrkSimpTraj *t1= (oldHit._trkTraj==0?0:oldHit._trkTraj->localTrajectory(fl,dum)); 00072 const TrkSimpTraj *t2= (trkTraj==0?0:trkTraj->localTrajectory(fl,dum)); 00073 if( t1 != 0 && t2 != 0 && t1->parameters()->parameter() == t2->parameters()->parameter() ) { 00074 // re-use cache as traj are sufficiently equiv 00075 _resid=oldHit._resid; 00076 _trkTraj=trkTraj; 00077 _poca = (oldHit._poca==0 ? 0: new TrkPoca(*oldHit._poca)); 00078 00079 } 00080 } 00081 // Only record hots if on default TrkRep 00082 if (getParentRep()->particleType() == getParentTrack()->defaultType()) { 00083 setUsedHit(); 00084 } 00085 }
TrkHitOnTrk::TrkHitOnTrk | ( | const TrkHitOnTrk & | hit | ) | [private] |
int TrkHitOnTrk::ambig | ( | ) | const [virtual] |
virtual TrkHitOnTrk* TrkHitOnTrk::clone | ( | TrkRep * | parentRep, | |
const TrkDifTraj * | trkTraj = 0 | |||
) | const [pure virtual] |
Implemented in MdcRecoHitOnTrack, and TrkBmSpotOnTrk.
Referenced by TrkHitList::appendHot(), and TrkBase::Functors::cloneHot::operator()().
double TrkHitOnTrk::fltLen | ( | ) | const [inline] |
Definition at line 91 of file TrkHitOnTrk.h.
References _trkLen.
Referenced by MdcHitOnTrack::dcaToWire(), MdcHitOnTrack::dipAngle(), MdcHitOnTrack::driftVelocity(), MdcHitOnTrack::entranceAngle(), MdcHitOnTrack::entranceAngleHit(), getFitStuff(), TrkBmSpotOnTrk::GetRms(), operator<(), MdcTrackList::pickHits(), MdcTrack::storeTrack(), TrkHitOnTrk(), MdcHitOnTrack::updateCorrections(), updatePoca(), and MdcHitOnTrack::wireAmbig().
00091 {return _trkLen;}
TrkErrCode TrkHitOnTrk::getFitStuff | ( | double & | deltaChi | ) | const |
Definition at line 271 of file TrkHitOnTrk.cxx.
References _resid, _trkTraj, getParentRep(), hitRms(), and TrkErrCode::succeed.
00272 { 00273 assert (_trkTraj == &(getParentRep()->traj())); 00274 deltaChi=_resid/hitRms(); // NOTE: use _INTERNAL_ residual 00275 return TrkErrCode(TrkErrCode::succeed); 00276 }
TrkErrCode TrkHitOnTrk::getFitStuff | ( | HepVector & | derivs, | |
double & | deltaChi | |||
) | const |
Definition at line 248 of file TrkHitOnTrk.cxx.
References _poca, _resid, _tolerance, _trkTraj, TrkDifPoca::derivs(), TrkErrCode::fail, TrkErrCode::failure(), TrkDifPoca::fetchDerivs(), fltLen(), hitLen(), hitRms(), hitTraj(), TrkPocaBase::status(), and TrkErrCode::succeed.
Referenced by TrkHelixRep::resid().
00249 { 00250 if (_poca==0 || _poca->status().failure()) { 00251 return TrkErrCode(TrkErrCode::fail); 00252 } 00253 // FIXME: I wish I could tell poca to NOT iterate 00254 // and ONLY compute the distance & derivatives... 00255 TrkDifPoca poca(*_trkTraj,fltLen(),*hitTraj(), hitLen(),_tolerance); 00256 if (poca.status().failure()) { 00257 return TrkErrCode(TrkErrCode::fail); 00258 } 00259 if (derivs.num_row() != 0) { 00260 poca.fetchDerivs(derivs); 00261 } else { 00262 derivs = poca.derivs(); 00263 } 00264 double sigInv = 1. / hitRms(); 00265 deltaChi = _resid * sigInv; // NOTE: use _INTERNAL_ residual 00266 derivs *= sigInv; 00267 return TrkErrCode(TrkErrCode::succeed); 00268 }
const TrkRep* TrkHitOnTrk::getParentRep | ( | ) | const [inline] |
Definition at line 73 of file TrkHitOnTrk.h.
References _parentRep.
Referenced by TrkRep::activateHot(), MdcHitOnTrack::dcaToWire(), TrkRep::deactivateHot(), MdcHitOnTrack::dipAngle(), MdcHitOnTrack::driftVelocity(), MdcHitOnTrack::entranceAngle(), MdcHitOnTrack::entranceAngleHit(), getFitStuff(), getParentTrack(), TrkBmSpotOnTrk::GetRms(), particleType(), TrkHelixRep::resid(), resid(), residual(), setActivity(), setUsability(), MdcHitOnTrack::timeAbsolute(), TrkHitOnTrk(), MdcHitOnTrack::updateCorrections(), updatePoca(), MdcHitOnTrack::wireAmbig(), and ~TrkHitOnTrk().
00073 {return _parentRep;}
const TrkRecoTrk * TrkHitOnTrk::getParentTrack | ( | ) | const |
Definition at line 152 of file TrkHitOnTrk.cxx.
References getParentRep(), and TrkRep::parentTrack().
Referenced by TrkHitOnTrk().
00153 { 00154 return getParentRep()->parentTrack(); 00155 }
bool TrkHitOnTrk::hasResidual | ( | ) | const [inline] |
Definition at line 104 of file TrkHitOnTrk.h.
References _poca.
Referenced by TrkBase::Predicates::hasResidual::operator()(), and TrkRep::resid().
00104 { return _poca != 0; }
TrkFundHit* TrkHitOnTrk::hit | ( | ) | [inline] |
const TrkFundHit* TrkHitOnTrk::hit | ( | ) | const [inline] |
Definition at line 75 of file TrkHitOnTrk.h.
References _theHit.
Referenced by TrkHitList::appendHot(), MdcRecoHitOnTrack::mdcHit(), TrkBase::Predicates::hotMatchesFundHit::operator()(), setUnusedHit(), setUsedHit(), and ~TrkHitOnTrk().
00075 {return _theHit;}
double TrkHitOnTrk::hitLen | ( | ) | const [inline] |
Definition at line 92 of file TrkHitOnTrk.h.
References _hitLen.
Referenced by MdcHitOnTrack::dcaToWire(), getFitStuff(), MdcHitOnTrack::isBeyondEndflange(), and updatePoca().
00092 {return _hitLen;}
double TrkHitOnTrk::hitRms | ( | ) | const [inline] |
Definition at line 89 of file TrkHitOnTrk.h.
References _hitRms.
Referenced by getFitStuff(), TrkHelixRep::resid(), TrkRep::resid(), MdcHitOnTrack::timeResid(), and weight().
00089 {return _hitRms;}
virtual const Trajectory* TrkHitOnTrk::hitTraj | ( | ) | const [pure virtual] |
bool TrkHitOnTrk::isActive | ( | ) | const [inline] |
Definition at line 200 of file TrkHitOnTrk.h.
References _isActive.
Referenced by TrkRep::activateHot(), TrkRep::addHot(), MdcHitOnTrack::dcaToWire(), TrkRep::deactivateHot(), TrkBase::Predicates::isMdcHitOnTrack::operator()(), TrkBase::Predicates::isSvtHitOnTrack::operator()(), TrkBase::Predicates::isHotActive::operator()(), TrkRep::removeHot(), TrkHelixRep::resid(), setActivity(), setUsability(), MdcHitOnTrack::updateAmbiguity(), updatePoca(), TrkMdcHotSelector::useHot(), and TrkActiveHotSelector::useHot().
00200 {return _isActive;}
bool TrkHitOnTrk::isUsable | ( | ) | const [inline] |
Definition at line 201 of file TrkHitOnTrk.h.
References _isUsable.
Referenced by setActivity(), and setUsability().
00201 {return (_isUsable > 0);}
virtual unsigned TrkHitOnTrk::layerNumber | ( | ) | const [pure virtual] |
Implemented in MdcHitOnTrack, and TrkBmSpotOnTrk.
Referenced by TrkBase::Predicates::isLayer::operator()().
const MdcHitOnTrack * TrkHitOnTrk::mdcHitOnTrack | ( | ) | const [virtual] |
Reimplemented in MdcHitOnTrack.
Definition at line 30 of file TrkHitOnTrk.cxx.
Referenced by TrkBase::Predicates::hasView::operator()(), TrkBase::Predicates::isMdcHitOnTrack::operator()(), MdcTrackList::pickHits(), and TrkMdcHotSelector::useHot().
bool TrkHitOnTrk::mustUse | ( | ) | const [inline] |
Definition at line 202 of file TrkHitOnTrk.h.
References _isUsable.
Referenced by setUsability().
00202 {return (_isUsable > 1);}
bool TrkHitOnTrk::operator< | ( | const TrkHitOnTrk & | rhs | ) | const [inline] |
TrkHitOnTrk& TrkHitOnTrk::operator= | ( | const TrkHitOnTrk & | ) | [private] |
bool TrkHitOnTrk::operator== | ( | const TrkHitOnTrk & | ) | const |
TrkRep* TrkHitOnTrk::parentRep | ( | ) | const [inline, protected] |
Definition at line 177 of file TrkHitOnTrk.h.
References _parentRep.
Referenced by parentTrack(), TrkRep::resid(), setActivity(), and setUsability().
00177 { return _parentRep;}
TrkRecoTrk * TrkHitOnTrk::parentTrack | ( | ) | const |
Definition at line 146 of file TrkHitOnTrk.cxx.
References parentRep(), and TrkRep::parentTrack().
Referenced by TrkBase::Predicates::isHotOnTrack::operator()().
00147 { 00148 return parentRep()->parentTrack(); 00149 }
PdtPid::PidType TrkHitOnTrk::particleType | ( | ) | const |
Definition at line 158 of file TrkHitOnTrk.cxx.
References getParentRep(), and TrkRep::particleType().
Referenced by TrkHitOnTrk().
00159 { 00160 return getParentRep()->particleType(); 00161 }
virtual void TrkHitOnTrk::print | ( | std::ostream & | ) | const [virtual] |
virtual void TrkHitOnTrk::printAll | ( | std::ostream & | ) | const [virtual] |
Definition at line 205 of file TrkHitOnTrk.cxx.
References getParentRep(), and TrkRep::resid().
00206 { 00207 assert(getParentRep()!=0); 00208 return getParentRep()->resid(this,resid,residErr,exclude); 00209 }
double TrkHitOnTrk::resid | ( | bool | exclude = false |
) | const |
Definition at line 191 of file TrkHitOnTrk.cxx.
References getParentRep(), TrkRep::resid(), and s.
Referenced by MdcHitOnTrack::dcaToWire().
00192 { 00193 double r(-99999.9),re(-9999.9); 00194 bool s=getParentRep()->resid(this,r,re,exclude); 00195 if (!s && r<-99999.8) { 00196 #ifdef MDCPATREC_ROUTINE 00197 std::cout<<"ErrMsg(routine) " 00198 << "error calling parentRep()->residual()" << std::endl; 00199 #endif 00200 } 00201 return r; 00202 }
double TrkHitOnTrk::residual | ( | ) | const |
Definition at line 212 of file TrkHitOnTrk.cxx.
References _resid, _trkTraj, and getParentRep().
Referenced by TrkHelixRep::resid(), and TrkRep::resid().
00213 { 00214 assert (_trkTraj == &(getParentRep()->traj())); 00215 return _resid; 00216 }
TrkHitOnTrk* TrkHitOnTrk::setActive | ( | bool | active | ) | [inline, private] |
Definition at line 195 of file TrkHitOnTrk.h.
References _isActive.
Referenced by TrkRep::activateHot(), TrkRep::deactivateHot(), TrkBase::Functors::setActive::operator()(), and TrkHitOnTrkUpdater::setActivity().
00195 { _isActive = active; return this; }
void TrkHitOnTrk::setActivity | ( | bool | turnOn | ) |
Definition at line 96 of file TrkHitOnTrk.cxx.
References _isActive, TrkRep::activateHot(), TrkRep::deactivateHot(), getParentRep(), isActive(), isUsable(), and parentRep().
Referenced by MdcxTrackFinder::dropMultiHotInLayer(), MdcTrackList::dropMultiHotInLayer(), MdcxTrackFinder::MdcxHitsToHots(), and MdcTrackList::pickHits().
00097 { 00098 if (!isUsable() || isActive()==turnOn) return; 00099 if (getParentRep() != 0) { // needed until Rep-less HoTs go away 00100 turnOn ? parentRep()->activateHot(this) 00101 : parentRep()->deactivateHot(this); 00102 } else { 00103 _isActive = turnOn; 00104 } 00105 }
void TrkHitOnTrk::setAmbig | ( | int | newambig | ) | [virtual] |
Reimplemented in MdcHitOnTrack.
Definition at line 187 of file TrkHitOnTrk.cxx.
Referenced by updatePoca().
void TrkHitOnTrk::setFltLen | ( | double | f | ) | [inline] |
Definition at line 147 of file TrkHitOnTrk.h.
References _trkLen.
Referenced by MdcHitUse::createHitOnTrk(), MdcHoughFinder::digiToHots(), HoughValidUpdate::digiToHots(), MdcHoughFinder::digiToHots2(), HoughValidUpdate::digiToHots2(), MdcHitOnTrack::MdcHitOnTrack(), MdcxCosmicSewer::MdcxHitsToHots(), and MdcTrackList::pickHits().
00147 {_trkLen = f;}
void TrkHitOnTrk::setHitLen | ( | double | h | ) | [inline, protected] |
Definition at line 178 of file TrkHitOnTrk.h.
References _hitLen.
Referenced by MdcHitOnTrack::MdcHitOnTrack().
00178 {_hitLen = h;}
void TrkHitOnTrk::setHitResid | ( | double | newResid | ) | [inline, protected] |
Definition at line 176 of file TrkHitOnTrk.h.
References _resid.
Referenced by MdcHitOnTrack::MdcHitOnTrack(), TrkBmSpotOnTrk::updateMeasurement(), and MdcHitOnTrack::updateMeasurement().
00176 {_resid = newResid;}
void TrkHitOnTrk::setHitRms | ( | double | newRms | ) | [inline] |
Definition at line 154 of file TrkHitOnTrk.h.
References _hitRms.
Referenced by MdcHitOnTrack::MdcHitOnTrack(), MdcHitOnTrack::updateCorrections(), and TrkBmSpotOnTrk::updateMeasurement().
00154 {_hitRms = newRms;}
TrkHitOnTrk* TrkHitOnTrk::setParent | ( | TrkRep * | rep | ) | [inline, private] |
Definition at line 196 of file TrkHitOnTrk.h.
References _parentRep.
Referenced by TrkBase::Functors::setParent::operator()().
00196 { _parentRep = rep; return this; }
void TrkHitOnTrk::setUnusedHit | ( | ) | [protected] |
Definition at line 170 of file TrkHitOnTrk.cxx.
References hit(), and TrkFundHit::setUnusedHit().
Referenced by TrkRecoTrk::changeDefault(), and ~TrkHitOnTrk().
00171 { 00172 if (hit() != 0) hit()->setUnusedHit(this); 00173 }
void TrkHitOnTrk::setUsability | ( | int | usability | ) |
Definition at line 108 of file TrkHitOnTrk.cxx.
References _isActive, _isUsable, TrkRep::activateHot(), TrkRep::deactivateHot(), getParentRep(), isActive(), isUsable(), mustUse(), and parentRep().
Referenced by MdcxTrackFinder::MdcxHitsToHots(), MdcTrackList::pickHits(), and MdcHitOnTrack::updateMeasurement().
00109 { 00110 _isUsable = usability; 00111 if (isActive() && !isUsable()) { 00112 _isActive = false; 00113 if(getParentRep() != 0)parentRep()->deactivateHot(this); 00114 } 00115 if (!isActive() && mustUse()) { 00116 _isActive = true; 00117 if(getParentRep() != 0)parentRep()->activateHot(this); 00118 } 00119 }
void TrkHitOnTrk::setUsedHit | ( | ) | [protected] |
Definition at line 164 of file TrkHitOnTrk.cxx.
References hit(), and TrkFundHit::setUsedHit().
Referenced by TrkRecoTrk::changeDefault(), and TrkHitOnTrk().
00165 { 00166 if (hit() != 0) hit()->setUsedHit(this); 00167 }
const SvtHitOnTrack * TrkHitOnTrk::svtHitOnTrack | ( | ) | const [virtual] |
Definition at line 31 of file TrkHitOnTrk.cxx.
Referenced by TrkBase::Predicates::hasView::operator()(), and TrkBase::Predicates::isSvtHitOnTrack::operator()().
virtual bool TrkHitOnTrk::timeAbsolute | ( | double & | time, | |
double & | error | |||
) | const [pure virtual] |
Implemented in MdcHitOnTrack, and TrkBmSpotOnTrk.
virtual bool TrkHitOnTrk::timeResid | ( | double & | resid, | |
double & | error | |||
) | const [pure virtual] |
Implemented in MdcHitOnTrack, and TrkBmSpotOnTrk.
const TrkDifTraj* TrkHitOnTrk::trkTraj | ( | ) | const [inline] |
Definition at line 77 of file TrkHitOnTrk.h.
References _trkTraj.
Referenced by TrkBmSpotOnTrk::clone(), MdcRecoHitOnTrack::clone(), TrkBmSpotOnTrk::GetRms(), TrkHitOnTrk(), and updatePoca().
00077 { return _trkTraj;}
virtual TrkErrCode TrkHitOnTrk::updateMeasurement | ( | const TrkDifTraj * | traj, | |
bool | maintainAmbiguity | |||
) | [protected, pure virtual] |
Implemented in MdcHitOnTrack, and TrkBmSpotOnTrk.
Referenced by TrkBase::Functors::updateMeasurement::operator()(), and TrkHitOnTrkUpdater::updateMeasurement().
TrkErrCode TrkHitOnTrk::updatePoca | ( | const TrkDifTraj * | trkTraj, | |
bool | maintainAmbiguity | |||
) | [protected] |
Definition at line 219 of file TrkHitOnTrk.cxx.
References _hitLen, _poca, _tolerance, _trkLen, _trkTraj, TrkPoca::doca(), TrkErrCode::fail, TrkErrCode::failure(), TrkPocaBase::flt1(), TrkPocaBase::flt2(), fltLen(), getParentRep(), hitLen(), hitTraj(), isActive(), setAmbig(), TrkPocaBase::status(), TrkErrCode::succeed, TrkAbsFit::traj(), and trkTraj().
Referenced by TrkBmSpotOnTrk::updateMeasurement(), and MdcHitOnTrack::updateMeasurement().
00220 { 00221 _trkTraj = (trkTraj!=0?trkTraj:&(getParentRep()->traj())); 00222 if (_poca==0) { 00223 _poca = new TrkPoca(*_trkTraj,fltLen(), 00224 *hitTraj(), hitLen(),_tolerance); 00225 } else { 00226 *_poca = TrkPoca(*_trkTraj,fltLen(), 00227 *hitTraj(), hitLen(),_tolerance); 00228 } 00229 if(_poca->status().failure()) { 00230 if(isActive()){ 00231 #ifdef MDCPATREC_WARNING 00232 std::cout<<"ErrMsg(warning) " 00233 << " TrkPoca failed in TrkHitOnTrk::updatePoca" 00234 << std::endl; 00235 #endif 00236 } 00237 delete _poca; _poca=0; 00238 return TrkErrCode(TrkErrCode::fail,4); 00239 } 00240 _trkLen = _poca->flt1(); 00241 _hitLen = _poca->flt2(); 00242 double dca=_poca->doca(); 00243 if (!maintainAmb) setAmbig(dca>0?+1:-1); 00244 return TrkErrCode(TrkErrCode::succeed); 00245 }
double TrkHitOnTrk::weight | ( | ) | const |
Definition at line 122 of file TrkHitOnTrk.cxx.
References hitRms().
00123 { 00124 // could be cached 00125 double rms=hitRms(); 00126 assert(rms > 0); 00127 return double(1) / ( rms * rms ); 00128 }
virtual TrkEnums::TrkViewInfo TrkHitOnTrk::whatView | ( | ) | const [pure virtual] |
Implemented in MdcHitOnTrack, and TrkBmSpotOnTrk.
Referenced by TrkBase::Predicates::hasView::operator()().
friend class TrkBase::Functors::setActive [friend] |
Definition at line 192 of file TrkHitOnTrk.h.
friend class TrkBase::Functors::setParent [friend] |
Definition at line 193 of file TrkHitOnTrk.h.
friend class TrkBase::Functors::updateMeasurement [friend] |
Definition at line 191 of file TrkHitOnTrk.h.
friend class TrkHitOnTrkUpdater [friend] |
Definition at line 190 of file TrkHitOnTrk.h.
friend class TrkHotList [friend] |
Definition at line 53 of file TrkHitOnTrk.h.
friend class TrkRecoTrk [friend] |
Definition at line 54 of file TrkHitOnTrk.h.
friend class TrkRep [friend] |
Definition at line 56 of file TrkHitOnTrk.h.
double TrkHitOnTrk::_hitLen [protected] |
Definition at line 169 of file TrkHitOnTrk.h.
Referenced by hitLen(), setHitLen(), and updatePoca().
double TrkHitOnTrk::_hitRms [protected] |
bool TrkHitOnTrk::_isActive [protected] |
Definition at line 165 of file TrkHitOnTrk.h.
Referenced by isActive(), setActive(), setActivity(), and setUsability().
int TrkHitOnTrk::_isUsable [protected] |
Definition at line 166 of file TrkHitOnTrk.h.
Referenced by isUsable(), mustUse(), and setUsability().
TrkRep* TrkHitOnTrk::_parentRep [protected] |
Definition at line 163 of file TrkHitOnTrk.h.
Referenced by getParentRep(), parentRep(), TrkHitOnTrkUpdater::setParent(), and setParent().
TrkPoca* TrkHitOnTrk::_poca [protected] |
Definition at line 172 of file TrkHitOnTrk.h.
Referenced by getFitStuff(), hasResidual(), TrkHitOnTrk(), TrkBmSpotOnTrk::updateMeasurement(), MdcHitOnTrack::updateMeasurement(), updatePoca(), and ~TrkHitOnTrk().
double TrkHitOnTrk::_resid [protected] |
Definition at line 170 of file TrkHitOnTrk.h.
Referenced by getFitStuff(), residual(), setHitResid(), and TrkHitOnTrk().
TrkFundHit* TrkHitOnTrk::_theHit [protected] |
double TrkHitOnTrk::_tolerance [protected] |
Definition at line 173 of file TrkHitOnTrk.h.
Referenced by MdcHitOnTrack::dcaToWire(), getFitStuff(), and updatePoca().
double TrkHitOnTrk::_trkLen [protected] |
Definition at line 168 of file TrkHitOnTrk.h.
Referenced by fltLen(), setFltLen(), and updatePoca().
const TrkDifTraj* TrkHitOnTrk::_trkTraj [protected] |
Definition at line 171 of file TrkHitOnTrk.h.
Referenced by MdcHitOnTrack::driftVelocity(), getFitStuff(), residual(), TrkHitOnTrk(), trkTraj(), MdcHitOnTrack::updateCorrections(), and updatePoca().