#include <MdcRecoHitOnTrack.h>
Inheritance diagram for MdcRecoHitOnTrack:
Public Types | |
typedef std::unary_function< TrkHitOnTrk, bool > | predicate_type |
Public Member Functions | |
MdcRecoHitOnTrack (const MdcHit &baseHit, int ambig, double bunchTime) | |
virtual | ~MdcRecoHitOnTrack () |
virtual TrkHitOnTrk * | clone (TrkRep *, const TrkDifTraj *trkTraj=0) const |
unsigned | status () const |
const MdcHit * | mdcHit () const |
unsigned | tdcIndex () const |
int | whichView () const |
double | entranceAngleHit () const |
double | entranceAngle () const |
double | entranceAngle (const HepPoint3D pos, const Hep3Vector dir) const |
double | dipAngle () const |
int | ambig () const |
int | wireAmbig () const |
double | fitTime () const |
double | drift () const |
double | drift (double dca) const |
double | dcaToWire () const |
double | rawTime () const |
virtual const Trajectory * | hitTraj () const |
virtual const MdcHitOnTrack * | mdcHitOnTrack () const |
virtual bool | timeResid (double &t, double &tErr) const |
virtual bool | timeAbsolute (double &t, double &tErr) const |
int | wire () const |
const MdcLayer * | layer () const |
int | layernumber () const |
unsigned | layerNumber () const |
double | charge () const |
TrkEnums::TrkViewInfo | whatView () const |
void | setAmbig (int a) |
void | setT0 (double t0) |
const TrkRecoTrk * | getParentTrack () const |
const TrkRep * | getParentRep () const |
PdtPid::PidType | particleType () const |
const TrkFundHit * | hit () const |
TrkFundHit * | hit () |
const TrkDifTraj * | trkTraj () const |
virtual const SvtHitOnTrack * | svtHitOnTrack () const |
bool | isActive () const |
bool | isUsable () const |
bool | mustUse () const |
double | hitRms () const |
double | weight () const |
double | fltLen () const |
double | hitLen () const |
bool | operator== (const TrkHitOnTrk &) const |
bool | operator< (const TrkHitOnTrk &rhs) const |
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 |
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 | |
MdcRecoHitOnTrack (const MdcRecoHitOnTrack &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0) | |
bool | isBeyondEndflange () const |
bool | updateAmbiguity (double dca) |
virtual TrkErrCode | updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity) |
const MdcHit * | baseHit () const |
void | changeBase (MdcHit *newBase) |
void | setHitResid (double newResid) |
TrkRep * | parentRep () const |
void | setHitLen (double h) |
void | setUsedHit () |
void | setUnusedHit () |
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 | |
MdcRecoHitOnTrack (const MdcRecoHitOnTrack &) | |
MdcRecoHitOnTrack & | operator= (const MdcRecoHitOnTrack &) |
Friends | |
class | TrkBase::Functors::updateMeasurement |
class | TrkBase::Functors::setActive |
class | TrkBase::Functors::setParent |
Definition at line 27 of file MdcRecoHitOnTrack.h.
typedef std::unary_function<TrkHitOnTrk,bool> TrkHitOnTrk::predicate_type [inherited] |
Definition at line 58 of file TrkHitOnTrk.h.
MdcRecoHitOnTrack::MdcRecoHitOnTrack | ( | const MdcHit & | baseHit, | |
int | ambig, | |||
double | bunchTime | |||
) |
Definition at line 17 of file MdcRecoHitOnTrack.cxx.
Referenced by clone().
00018 : MdcHitOnTrack(baseHit,baseHit, ambig, bunchTime) 00019 { }
MdcRecoHitOnTrack::~MdcRecoHitOnTrack | ( | ) | [virtual] |
MdcRecoHitOnTrack::MdcRecoHitOnTrack | ( | const MdcRecoHitOnTrack & | hitToBeCopied, | |
TrkRep * | newRep, | |||
const TrkDifTraj * | trkTraj = 0 | |||
) | [protected] |
Definition at line 22 of file MdcRecoHitOnTrack.cxx.
00025 : MdcHitOnTrack(hot,newRep,trkTraj) 00026 { }
MdcRecoHitOnTrack::MdcRecoHitOnTrack | ( | const MdcRecoHitOnTrack & | ) | [private] |
int MdcHitOnTrack::ambig | ( | ) | const [inline, virtual, inherited] |
Reimplemented from TrkHitOnTrk.
Definition at line 67 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_ambig.
Referenced by MdcHitOnTrack::driftCurrent(), MdcTrackList::pickHits(), MdcHitOnTrack::updateAmbiguity(), MdcHitOnTrack::updateCorrections(), MdcHitOnTrack::updateMeasurement(), and MdcHitOnTrack::wireAmbig().
00067 { return _ambig; } // wire wrt track direction
const MdcHit* MdcHitOnTrack::baseHit | ( | ) | const [inline, protected, inherited] |
Definition at line 123 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_dHit.
Referenced by MdcHitOnTrack::MdcHitOnTrack().
00123 { return _dHit; }
void MdcHitOnTrack::changeBase | ( | MdcHit * | newBase | ) | [protected, inherited] |
Definition at line 399 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit.
00400 { 00401 _dHit = newBase; 00402 }
double MdcHitOnTrack::charge | ( | ) | const [inherited] |
Definition at line 378 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::charge().
TrkHitOnTrk * MdcRecoHitOnTrack::clone | ( | TrkRep * | , | |
const TrkDifTraj * | trkTraj = 0 | |||
) | const [virtual] |
Implements TrkHitOnTrk.
Definition at line 32 of file MdcRecoHitOnTrack.cxx.
References MdcRecoHitOnTrack(), and TrkHitOnTrk::trkTraj().
Referenced by MdcHitUse::createHitOnTrk().
00033 { 00034 return new MdcRecoHitOnTrack(*this,rep,trkTraj); 00035 }
double MdcHitOnTrack::dcaToWire | ( | ) | const [inherited] |
Definition at line 123 of file MdcHitOnTrack.cxx.
References TrkHitOnTrk::_tolerance, TrkPoca::doca(), MdcHitOnTrack::drift(), TrkHitOnTrk::fltLen(), TrkHitOnTrk::getParentRep(), TrkHitOnTrk::hitLen(), MdcHitOnTrack::hitTraj(), TrkHitOnTrk::isActive(), TrkHitOnTrk::resid(), TrkPocaBase::status(), and TrkErrCode::success().
Referenced by MdcHitOnTrack::timeResid().
00124 { 00125 double dca = -9999.; 00126 if ( getParentRep() == 0 ) { 00127 // cout << "no parent rep" << endl; 00128 return dca; 00129 } 00130 // WARNING: cannot use the internal _poca, as it lags one iteration 00131 // behind the fit... therfore use _EXTERNAL_ residual 00132 if (isActive()) { // FIXME: currently can only use 'resid()' if isActive.. 00133 dca = resid()+drift(); 00134 } else { 00135 TrkPoca poca(getParentRep()->traj(), fltLen(), *hitTraj(), hitLen(), 00136 _tolerance); 00137 if (poca.status().success()) dca = poca.doca(); 00138 } 00139 return dca; 00140 }
double MdcHitOnTrack::dipAngle | ( | ) | const [inherited] |
Definition at line 227 of file MdcHitOnTrack.cxx.
References Trajectory::direction(), TrkHitOnTrk::fltLen(), TrkHitOnTrk::getParentRep(), Constants::pi, and TrkAbsFit::traj().
00228 { 00229 return getParentRep()==0?0:Constants::pi/2-getParentRep()->traj().direction(fltLen()).theta(); 00230 }
double MdcHitOnTrack::drift | ( | double | dca | ) | const [inline, inherited] |
Definition at line 77 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_drift.
00077 { return _drift[dca<0?0:1]; }
double MdcHitOnTrack::drift | ( | ) | const [inline, inherited] |
Definition at line 75 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_ambig, and MdcHitOnTrack::_drift.
Referenced by MdcHitOnTrack::dcaToWire(), MdcHitOnTrack::timeResid(), and MdcHitOnTrack::updateMeasurement().
double MdcHitOnTrack::entranceAngle | ( | const HepPoint3D | pos, | |
const Hep3Vector | dir | |||
) | const [inherited] |
Definition at line 183 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::phi().
00184 { 00185 double angle = EntranceAngle(dir.phi() - _dHit->phi(pos.z())); 00186 //std::cout<< "eAngle("<<layernumber()<<","<<wire()<<") dir.phi() "<<dir.phi()*180./3.14<<" hit phi "<<_dHit->phi(pos.z())*180./3.14<<" eAngle "<<angle*180./3.14<<" degree "<<angle<<std::endl; 00187 00188 //std::cout<< __FILE__ << " " << __LINE__ << " ("<<layernumber()<<","<<wire()<<") "<< 00189 //" phiPoca "<<dir.phi()*180/3.14<< " phiWire "<<_dHit->phi(pos.z())*180/3.14<<" z "<<pos.z()<< 00190 //" dPhiz "<<_dHit->wire()->dPhizDC(pos.z())*180/3.14<< " eAngle "<<angle*180/3.14<< " angle "<<(dir.phi() - _dHit->phi(pos.z()))*180./3.14<<std::endl; 00191 /* 00192 if(g_tupleHit && fabs(angle)>0.0001){ 00193 int layer = layernumber(); 00194 int wireId = wire(); 00195 g_hitLayer = layer; 00196 g_hitWire = wireId; 00197 00198 int lrCalib=2; 00199 if (ambig()==1) lrCalib = 0; 00200 else if (ambig()==-1) lrCalib = 1; 00201 g_hitAmbig = lrCalib; 00202 g_hitAmbigMc = haveDigiMcLr[layer][wireId]; 00203 g_hitEAngle = angle*180./3.14; 00204 g_hitEAngleMc = haveDigiEAngle[layer][wireId]*180./3.14; 00205 g_hitZ = pos.z(); 00206 g_hitZMc = haveDigiZ[layer][wireId]; 00207 g_hitDrift = _drift[ambig()]; 00208 g_hitDriftMc = haveDigiDrift[layer][wireId]; 00209 g_hitTkIdMc = haveDigiTk[layer][wireId]; 00210 g_hitPhiPoca = dir.phi()*180./3.41; 00211 g_hitPhiHit = _dHit->phi(pos.z())*180./3.41; 00212 g_hitPhiHit0 = _dHit->phi()*180./3.41; 00213 g_hitPhiHitDel = _dHit->wire()->dPhiz()*180./3.41; 00214 g_tupleHit->write(); 00215 } 00216 */ 00217 return angle; 00218 }
double MdcHitOnTrack::entranceAngle | ( | ) | const [inherited] |
Definition at line 172 of file MdcHitOnTrack.cxx.
References TrkHitOnTrk::fltLen(), Trajectory::getInfo(), TrkHitOnTrk::getParentRep(), boss::pos, and TrkAbsFit::traj().
Referenced by MdcHitOnTrack::driftVelocity(), and MdcHitOnTrack::updateCorrections().
00173 { 00174 static Hep3Vector dir; 00175 static HepPoint3D pos; 00176 if (getParentRep() == 0) return 0.; 00177 getParentRep()->traj().getInfo(fltLen(), pos, dir); 00178 00179 return entranceAngle(pos, dir); 00180 }
double MdcHitOnTrack::entranceAngleHit | ( | ) | const [inherited] |
Definition at line 161 of file MdcHitOnTrack.cxx.
References TrkHitOnTrk::fltLen(), Trajectory::getInfo(), TrkHitOnTrk::getParentRep(), boss::pos, and TrkAbsFit::traj().
00162 { 00163 static Hep3Vector dir; 00164 static HepPoint3D pos; 00165 if (getParentRep() == 0) return 0.; 00166 getParentRep()->traj().getInfo(fltLen(), pos, dir); 00167 00168 return BesAngle(dir.phi() - pos.phi()); 00169 }
double MdcHitOnTrack::fitTime | ( | ) | const [inline, inherited] |
Definition at line 71 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_fitTime.
00071 { return _fitTime; }
double TrkHitOnTrk::fltLen | ( | ) | const [inline, inherited] |
Definition at line 91 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_trkLen.
Referenced by MdcHitOnTrack::dcaToWire(), MdcHitOnTrack::dipAngle(), MdcHitOnTrack::driftVelocity(), MdcHitOnTrack::entranceAngle(), MdcHitOnTrack::entranceAngleHit(), TrkHitOnTrk::getFitStuff(), TrkBmSpotOnTrk::GetRms(), TrkHitOnTrk::operator<(), MdcTrackList::pickHits(), MdcTrack::storeTrack(), TrkHitOnTrk::TrkHitOnTrk(), MdcHitOnTrack::updateCorrections(), TrkHitOnTrk::updatePoca(), and MdcHitOnTrack::wireAmbig().
00091 {return _trkLen;}
TrkErrCode TrkHitOnTrk::getFitStuff | ( | double & | deltaChi | ) | const [inherited] |
Definition at line 271 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_resid, TrkHitOnTrk::_trkTraj, TrkHitOnTrk::getParentRep(), TrkHitOnTrk::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 [inherited] |
Definition at line 248 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_poca, TrkHitOnTrk::_resid, TrkHitOnTrk::_tolerance, TrkHitOnTrk::_trkTraj, TrkDifPoca::derivs(), TrkErrCode::fail, TrkErrCode::failure(), TrkDifPoca::fetchDerivs(), TrkHitOnTrk::fltLen(), TrkHitOnTrk::hitLen(), TrkHitOnTrk::hitRms(), TrkHitOnTrk::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, inherited] |
Definition at line 73 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_parentRep.
Referenced by TrkRep::activateHot(), MdcHitOnTrack::dcaToWire(), TrkRep::deactivateHot(), MdcHitOnTrack::dipAngle(), MdcHitOnTrack::driftVelocity(), MdcHitOnTrack::entranceAngle(), MdcHitOnTrack::entranceAngleHit(), TrkHitOnTrk::getFitStuff(), TrkHitOnTrk::getParentTrack(), TrkBmSpotOnTrk::GetRms(), TrkHitOnTrk::particleType(), TrkHelixRep::resid(), TrkHitOnTrk::resid(), TrkHitOnTrk::residual(), TrkHitOnTrk::setActivity(), TrkHitOnTrk::setUsability(), MdcHitOnTrack::timeAbsolute(), TrkHitOnTrk::TrkHitOnTrk(), MdcHitOnTrack::updateCorrections(), TrkHitOnTrk::updatePoca(), MdcHitOnTrack::wireAmbig(), and TrkHitOnTrk::~TrkHitOnTrk().
00073 {return _parentRep;}
const TrkRecoTrk * TrkHitOnTrk::getParentTrack | ( | ) | const [inherited] |
Definition at line 152 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::getParentRep(), and TrkRep::parentTrack().
Referenced by TrkHitOnTrk::TrkHitOnTrk().
00153 { 00154 return getParentRep()->parentTrack(); 00155 }
bool TrkHitOnTrk::hasResidual | ( | ) | const [inline, inherited] |
Definition at line 104 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_poca.
Referenced by TrkBase::Predicates::hasResidual::operator()(), and TrkRep::resid().
00104 { return _poca != 0; }
TrkFundHit* TrkHitOnTrk::hit | ( | ) | [inline, inherited] |
Definition at line 76 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_theHit.
00076 {return _theHit;}
const TrkFundHit* TrkHitOnTrk::hit | ( | ) | const [inline, inherited] |
Definition at line 75 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_theHit.
Referenced by TrkHitList::appendHot(), mdcHit(), TrkBase::Predicates::hotMatchesFundHit::operator()(), TrkHitOnTrk::setUnusedHit(), TrkHitOnTrk::setUsedHit(), and TrkHitOnTrk::~TrkHitOnTrk().
00075 {return _theHit;}
double TrkHitOnTrk::hitLen | ( | ) | const [inline, inherited] |
Definition at line 92 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_hitLen.
Referenced by MdcHitOnTrack::dcaToWire(), TrkHitOnTrk::getFitStuff(), MdcHitOnTrack::isBeyondEndflange(), and TrkHitOnTrk::updatePoca().
00092 {return _hitLen;}
double TrkHitOnTrk::hitRms | ( | ) | const [inline, inherited] |
Definition at line 89 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_hitRms.
Referenced by TrkHitOnTrk::getFitStuff(), TrkHelixRep::resid(), TrkRep::resid(), MdcHitOnTrack::timeResid(), and TrkHitOnTrk::weight().
00089 {return _hitRms;}
const Trajectory * MdcHitOnTrack::hitTraj | ( | ) | const [virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 384 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_hitTraj.
Referenced by MdcHitOnTrack::dcaToWire(), and MdcHitOnTrack::MdcHitOnTrack().
00385 { 00386 return _hitTraj; 00387 }
bool TrkHitOnTrk::isActive | ( | ) | const [inline, inherited] |
Definition at line 200 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_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(), TrkHitOnTrk::setActivity(), TrkHitOnTrk::setUsability(), MdcHitOnTrack::updateAmbiguity(), TrkHitOnTrk::updatePoca(), TrkMdcHotSelector::useHot(), and TrkActiveHotSelector::useHot().
00200 {return _isActive;}
bool MdcHitOnTrack::isBeyondEndflange | ( | ) | const [inline, protected, inherited] |
Definition at line 114 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_endLen, MdcHitOnTrack::_startLen, and TrkHitOnTrk::hitLen().
Referenced by MdcHitOnTrack::updateMeasurement().
bool TrkHitOnTrk::isUsable | ( | ) | const [inline, inherited] |
Definition at line 201 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_isUsable.
Referenced by TrkHitOnTrk::setActivity(), and TrkHitOnTrk::setUsability().
00201 {return (_isUsable > 0);}
const MdcLayer * MdcHitOnTrack::layer | ( | ) | const [inherited] |
Definition at line 354 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::layer().
unsigned MdcHitOnTrack::layerNumber | ( | ) | const [virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 221 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::layernumber().
00222 { 00223 return layernumber(); 00224 }
int MdcHitOnTrack::layernumber | ( | ) | const [inherited] |
Definition at line 348 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::layernumber().
Referenced by MdcHitOnTrack::layerNumber().
00349 { 00350 return _dHit->layernumber(); 00351 }
const MdcHit * MdcRecoHitOnTrack::mdcHit | ( | ) | const [virtual] |
Reimplemented from MdcHitOnTrack.
Definition at line 38 of file MdcRecoHitOnTrack.cxx.
References TrkHitOnTrk::hit().
Referenced by status(), and tdcIndex().
00039 { 00040 return static_cast<const MdcHit*>(hit()); 00041 }
const MdcHitOnTrack * MdcHitOnTrack::mdcHitOnTrack | ( | ) | const [virtual, inherited] |
bool TrkHitOnTrk::mustUse | ( | ) | const [inline, inherited] |
Definition at line 202 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_isUsable.
Referenced by TrkHitOnTrk::setUsability().
00202 {return (_isUsable > 1);}
bool TrkHitOnTrk::operator< | ( | const TrkHitOnTrk & | rhs | ) | const [inline, inherited] |
MdcRecoHitOnTrack& MdcRecoHitOnTrack::operator= | ( | const MdcRecoHitOnTrack & | ) | [private] |
bool TrkHitOnTrk::operator== | ( | const TrkHitOnTrk & | ) | const [inherited] |
TrkRep* TrkHitOnTrk::parentRep | ( | ) | const [inline, protected, inherited] |
Definition at line 177 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_parentRep.
Referenced by TrkHitOnTrk::parentTrack(), TrkRep::resid(), TrkHitOnTrk::setActivity(), and TrkHitOnTrk::setUsability().
00177 { return _parentRep;}
TrkRecoTrk * TrkHitOnTrk::parentTrack | ( | ) | const [inherited] |
Definition at line 146 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::parentRep(), and TrkRep::parentTrack().
Referenced by TrkBase::Predicates::isHotOnTrack::operator()().
00147 { 00148 return parentRep()->parentTrack(); 00149 }
PdtPid::PidType TrkHitOnTrk::particleType | ( | ) | const [inherited] |
Definition at line 158 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::getParentRep(), and TrkRep::particleType().
Referenced by TrkHitOnTrk::TrkHitOnTrk().
00159 { 00160 return getParentRep()->particleType(); 00161 }
virtual void TrkHitOnTrk::print | ( | std::ostream & | ) | const [virtual, inherited] |
virtual void TrkHitOnTrk::printAll | ( | std::ostream & | ) | const [virtual, inherited] |
double MdcHitOnTrack::rawTime | ( | ) | const [inherited] |
Definition at line 372 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::rawTime().
bool TrkHitOnTrk::resid | ( | double & | resid, | |
double & | residErr, | |||
bool | exclude = false | |||
) | const [inherited] |
Definition at line 205 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::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 [inherited] |
Definition at line 191 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::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 [inherited] |
Definition at line 212 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_resid, TrkHitOnTrk::_trkTraj, and TrkHitOnTrk::getParentRep().
Referenced by TrkHelixRep::resid(), and TrkRep::resid().
00213 { 00214 assert (_trkTraj == &(getParentRep()->traj())); 00215 return _resid; 00216 }
void TrkHitOnTrk::setActivity | ( | bool | turnOn | ) | [inherited] |
Definition at line 96 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_isActive, TrkRep::activateHot(), TrkRep::deactivateHot(), TrkHitOnTrk::getParentRep(), TrkHitOnTrk::isActive(), TrkHitOnTrk::isUsable(), and TrkHitOnTrk::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 MdcHitOnTrack::setAmbig | ( | int | a | ) | [inline, virtual, inherited] |
Reimplemented from TrkHitOnTrk.
Definition at line 104 of file MdcHitOnTrack.h.
References MdcHitOnTrack::_ambig.
Referenced by MdcHitOnTrack::updateAmbiguity().
00104 { _ambig = a<0?-1:a>0?1:0; }
void TrkHitOnTrk::setFltLen | ( | double | f | ) | [inline, inherited] |
Definition at line 147 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_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, inherited] |
Definition at line 178 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_hitLen.
Referenced by MdcHitOnTrack::MdcHitOnTrack().
00178 {_hitLen = h;}
void TrkHitOnTrk::setHitResid | ( | double | newResid | ) | [inline, protected, inherited] |
Definition at line 176 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_resid.
Referenced by MdcHitOnTrack::MdcHitOnTrack(), TrkBmSpotOnTrk::updateMeasurement(), and MdcHitOnTrack::updateMeasurement().
00176 {_resid = newResid;}
void TrkHitOnTrk::setHitRms | ( | double | newRms | ) | [inline, inherited] |
Definition at line 154 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_hitRms.
Referenced by MdcHitOnTrack::MdcHitOnTrack(), MdcHitOnTrack::updateCorrections(), and TrkBmSpotOnTrk::updateMeasurement().
00154 {_hitRms = newRms;}
void MdcHitOnTrack::setT0 | ( | double | t0 | ) | [inherited] |
Definition at line 117 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, MdcHitOnTrack::_fitTime, and MdcHit::rawTime().
void TrkHitOnTrk::setUnusedHit | ( | ) | [protected, inherited] |
Definition at line 170 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::hit(), and TrkFundHit::setUnusedHit().
Referenced by TrkRecoTrk::changeDefault(), and TrkHitOnTrk::~TrkHitOnTrk().
00171 { 00172 if (hit() != 0) hit()->setUnusedHit(this); 00173 }
void TrkHitOnTrk::setUsability | ( | int | usability | ) | [inherited] |
Definition at line 108 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_isActive, TrkHitOnTrk::_isUsable, TrkRep::activateHot(), TrkRep::deactivateHot(), TrkHitOnTrk::getParentRep(), TrkHitOnTrk::isActive(), TrkHitOnTrk::isUsable(), TrkHitOnTrk::mustUse(), and TrkHitOnTrk::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, inherited] |
Definition at line 164 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::hit(), and TrkFundHit::setUsedHit().
Referenced by TrkRecoTrk::changeDefault(), and TrkHitOnTrk::TrkHitOnTrk().
00165 { 00166 if (hit() != 0) hit()->setUsedHit(this); 00167 }
unsigned MdcRecoHitOnTrack::status | ( | ) | const [virtual] |
Implements MdcHitOnTrack.
Definition at line 44 of file MdcRecoHitOnTrack.cxx.
References mdcHit(), and MdcHit::status().
const SvtHitOnTrack * TrkHitOnTrk::svtHitOnTrack | ( | ) | const [virtual, inherited] |
Definition at line 31 of file TrkHitOnTrk.cxx.
Referenced by TrkBase::Predicates::hasView::operator()(), and TrkBase::Predicates::isSvtHitOnTrack::operator()().
unsigned MdcRecoHitOnTrack::tdcIndex | ( | ) | const [virtual] |
Implements MdcHitOnTrack.
Definition at line 51 of file MdcRecoHitOnTrack.cxx.
References mdcHit(), and MdcHit::tdcIndex().
bool MdcHitOnTrack::timeAbsolute | ( | double & | t, | |
double & | tErr | |||
) | const [virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 330 of file MdcHitOnTrack.cxx.
References TrkHitOnTrk::getParentRep(), TrkRep::parentTrack(), MdcHitOnTrack::timeResid(), and TrkRecoTrk::trackT0().
00331 { 00332 double tresid(-1.0); 00333 if(timeResid(tresid,tErr)){ 00334 // add back the track time 00335 t = tresid + getParentRep()->parentTrack()->trackT0(); 00336 return true; 00337 } else 00338 return false; 00339 }
bool MdcHitOnTrack::timeResid | ( | double & | t, | |
double & | tErr | |||
) | const [virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 320 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::dcaToWire(), MdcHitOnTrack::drift(), MdcHitOnTrack::driftVelocity(), TrkHitOnTrk::hitRms(), and v.
Referenced by MdcHitOnTrack::timeAbsolute().
00321 { 00322 double v = driftVelocity(); 00323 if (v <= 0) return false; 00324 t = (fabs(drift())-fabs(dcaToWire()))/v; 00325 tErr= hitRms()/v; 00326 return true; 00327 }
const TrkDifTraj* TrkHitOnTrk::trkTraj | ( | ) | const [inline, inherited] |
Definition at line 77 of file TrkHitOnTrk.h.
References TrkHitOnTrk::_trkTraj.
Referenced by TrkBmSpotOnTrk::clone(), clone(), TrkBmSpotOnTrk::GetRms(), TrkHitOnTrk::TrkHitOnTrk(), and TrkHitOnTrk::updatePoca().
00077 { return _trkTraj;}
bool MdcHitOnTrack::updateAmbiguity | ( | double | dca | ) | [protected, inherited] |
Definition at line 143 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::ambig(), TrkHitOnTrk::isActive(), and MdcHitOnTrack::setAmbig().
Referenced by MdcHitOnTrack::updateMeasurement().
00144 { 00145 if (dca < 0 && ambig() >= 0) { 00146 setAmbig(-1); return isActive(); 00147 } else if (dca > 0 && ambig() <= 0) { 00148 setAmbig(1); return isActive(); 00149 } else { 00150 return false; 00151 } 00152 }
TrkErrCode MdcHitOnTrack::updateMeasurement | ( | const TrkDifTraj * | traj, | |
bool | maintainAmbiguity | |||
) | [protected, virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 233 of file MdcHitOnTrack.cxx.
References TrkHitOnTrk::_poca, MdcHitOnTrack::ambig(), TrkPoca::doca(), MdcHitOnTrack::drift(), MdcHitOnTrack::driftCurrent(), MdcHitOnTrack::isBeyondEndflange(), TrkHitOnTrk::setHitResid(), TrkHitOnTrk::setUsability(), MdcHitOnTrack::status(), TrkErrCode::succeed, MdcHitOnTrack::updateAmbiguity(), MdcHitOnTrack::updateCorrections(), and TrkHitOnTrk::updatePoca().
00234 { 00235 TrkErrCode status=updatePoca(traj,maintainAmb); 00236 if (status.failure()) { 00237 #ifdef MDCPATREC_DEBUG 00238 std::cout<<" ErrMsg(warning) " << "MdcHitOnTrack::updateMeasurement failed " << status << std::endl; 00239 #endif 00240 return status; 00241 } 00242 assert (_poca!=0); 00243 double dca=_poca->doca(); 00244 bool forceIteration = (maintainAmb&&ambig()!=0)?false:updateAmbiguity(dca); 00245 //std::cout<< __FILE__ << " " << __LINE__ << " maintainAmb "<< maintainAmb 00246 //<< " maintain&& ambig "<<(maintainAmb&&ambig()!=0) 00247 //<< " forceIteration "<<forceIteration<<std::endl; 00248 assert(ambig()!=0); 00249 // Check for hits beyond end plates. !!Turn off hit if it is == temp. hack 00250 if (isBeyondEndflange()) setUsability(false); 00251 if (forceIteration || !driftCurrent() ) { 00252 updateCorrections(); // force recomputation of drift for current ambig(), setting of hitRms 00253 forceIteration=true; 00254 } 00255 setHitResid(dca-drift()); 00256 return !forceIteration?status: 00257 TrkErrCode(TrkErrCode::succeed, 11, "Ambiguity flipped"); 00258 }
TrkErrCode TrkHitOnTrk::updatePoca | ( | const TrkDifTraj * | trkTraj, | |
bool | maintainAmbiguity | |||
) | [protected, inherited] |
Definition at line 219 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::_hitLen, TrkHitOnTrk::_poca, TrkHitOnTrk::_tolerance, TrkHitOnTrk::_trkLen, TrkHitOnTrk::_trkTraj, TrkPoca::doca(), TrkErrCode::fail, TrkErrCode::failure(), TrkPocaBase::flt1(), TrkPocaBase::flt2(), TrkHitOnTrk::fltLen(), TrkHitOnTrk::getParentRep(), TrkHitOnTrk::hitLen(), TrkHitOnTrk::hitTraj(), TrkHitOnTrk::isActive(), TrkHitOnTrk::setAmbig(), TrkPocaBase::status(), TrkErrCode::succeed, TrkAbsFit::traj(), and TrkHitOnTrk::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 [inherited] |
Definition at line 122 of file TrkHitOnTrk.cxx.
References TrkHitOnTrk::hitRms().
00123 { 00124 // could be cached 00125 double rms=hitRms(); 00126 assert(rms > 0); 00127 return double(1) / ( rms * rms ); 00128 }
TrkEnums::TrkViewInfo MdcHitOnTrack::whatView | ( | ) | const [virtual, inherited] |
Implements TrkHitOnTrk.
Definition at line 342 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::whatView().
int MdcRecoHitOnTrack::whichView | ( | ) | const |
Reimplemented from MdcHitOnTrack.
int MdcHitOnTrack::wire | ( | ) | const [inherited] |
Definition at line 360 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_dHit, and MdcHit::wirenumber().
00361 { 00362 return _dHit->wirenumber(); 00363 }
int MdcHitOnTrack::wireAmbig | ( | ) | const [inherited] |
Definition at line 415 of file MdcHitOnTrack.cxx.
References MdcHitOnTrack::_ambig, MdcHitOnTrack::ambig(), TrkHitOnTrk::fltLen(), Trajectory::getInfo(), TrkHitOnTrk::getParentRep(), MdcHitOnTrack::mdcHit(), boss::pos, TrkRep::position(), and TrkAbsFit::traj().
Referenced by MdcHitOnTrack::updateCorrections().
00415 { 00416 // hit wrt the wire location 00417 00418 //return fabs(entranceAngle())<Constants::pi/2?ambig():-ambig(); 00419 const TrkRep* tkRep = getParentRep(); 00420 static Hep3Vector dir; 00421 static HepPoint3D pos; 00422 if (getParentRep() == 0) return 0.; 00423 getParentRep()->traj().getInfo(fltLen(), pos, dir); 00424 00425 double wireAmb = ambig(); 00426 if (mdcHit()->isCosmicFit()){ 00427 HepPoint3D poca = tkRep->position(0.); 00428 if ( pos.y() > poca.y()){ 00429 wireAmb = -1.*_ambig;//yzhang 2012-07-17 00430 //std::cout<<"MdcHitOnTrack CosmicFit up ambig *-1"<<std::endl; 00431 } 00432 } 00433 00434 return wireAmb; 00435 }
friend class TrkBase::Functors::setActive [friend, inherited] |
Definition at line 192 of file TrkHitOnTrk.h.
friend class TrkBase::Functors::setParent [friend, inherited] |
Definition at line 193 of file TrkHitOnTrk.h.
friend class TrkBase::Functors::updateMeasurement [friend, inherited] |
Definition at line 191 of file TrkHitOnTrk.h.
double TrkHitOnTrk::_hitLen [protected, inherited] |
Definition at line 169 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::hitLen(), TrkHitOnTrk::setHitLen(), and TrkHitOnTrk::updatePoca().
double TrkHitOnTrk::_hitRms [protected, inherited] |
Definition at line 167 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::hitRms(), and TrkHitOnTrk::setHitRms().
bool TrkHitOnTrk::_isActive [protected, inherited] |
Definition at line 165 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::isActive(), TrkHitOnTrk::setActive(), TrkHitOnTrk::setActivity(), and TrkHitOnTrk::setUsability().
int TrkHitOnTrk::_isUsable [protected, inherited] |
Definition at line 166 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::isUsable(), TrkHitOnTrk::mustUse(), and TrkHitOnTrk::setUsability().
TrkRep* TrkHitOnTrk::_parentRep [protected, inherited] |
Definition at line 163 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::getParentRep(), TrkHitOnTrk::parentRep(), TrkHitOnTrkUpdater::setParent(), and TrkHitOnTrk::setParent().
TrkPoca* TrkHitOnTrk::_poca [protected, inherited] |
Definition at line 172 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::getFitStuff(), TrkHitOnTrk::hasResidual(), TrkHitOnTrk::TrkHitOnTrk(), TrkBmSpotOnTrk::updateMeasurement(), MdcHitOnTrack::updateMeasurement(), TrkHitOnTrk::updatePoca(), and TrkHitOnTrk::~TrkHitOnTrk().
double TrkHitOnTrk::_resid [protected, inherited] |
Definition at line 170 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::getFitStuff(), TrkHitOnTrk::residual(), TrkHitOnTrk::setHitResid(), and TrkHitOnTrk::TrkHitOnTrk().
TrkFundHit* TrkHitOnTrk::_theHit [protected, inherited] |
double TrkHitOnTrk::_tolerance [protected, inherited] |
Definition at line 173 of file TrkHitOnTrk.h.
Referenced by MdcHitOnTrack::dcaToWire(), TrkHitOnTrk::getFitStuff(), and TrkHitOnTrk::updatePoca().
double TrkHitOnTrk::_trkLen [protected, inherited] |
Definition at line 168 of file TrkHitOnTrk.h.
Referenced by TrkHitOnTrk::fltLen(), TrkHitOnTrk::setFltLen(), and TrkHitOnTrk::updatePoca().
const TrkDifTraj* TrkHitOnTrk::_trkTraj [protected, inherited] |
Definition at line 171 of file TrkHitOnTrk.h.
Referenced by MdcHitOnTrack::driftVelocity(), TrkHitOnTrk::getFitStuff(), TrkHitOnTrk::residual(), TrkHitOnTrk::TrkHitOnTrk(), TrkHitOnTrk::trkTraj(), MdcHitOnTrack::updateCorrections(), and TrkHitOnTrk::updatePoca().