Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TrkHitOnTrk Class Reference

#include <TrkHitOnTrk.h>

Inheritance diagram for TrkHitOnTrk:

MdcHitOnTrack MdcHitOnTrack TrkBmSpotOnTrk TrkBmSpotOnTrk MdcRecoHitOnTrack MdcRecoHitOnTrack MdcRecoHitOnTrack MdcRecoHitOnTrack List of all members.

Public Types

typedef std::unary_function<
TrkHitOnTrk, bool
predicate_type
typedef std::unary_function<
TrkHitOnTrk, bool
predicate_type

Public Member Functions

virtual int ambig () const
virtual int ambig () const
virtual TrkHitOnTrkclone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0
virtual TrkHitOnTrkclone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0
double fltLen () const
double fltLen () const
TrkErrCode getFitStuff (double &deltaChi) const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
const TrkRepgetParentRep () const
const TrkRepgetParentRep () const
const TrkRecoTrkgetParentTrack () const
const TrkRecoTrkgetParentTrack () const
bool hasResidual () const
bool hasResidual () const
TrkFundHithit ()
const TrkFundHithit () const
TrkFundHithit ()
const TrkFundHithit () const
double hitLen () const
double hitLen () const
double hitRms () const
double hitRms () const
virtual const TrajectoryhitTraj () const =0
virtual const TrajectoryhitTraj () const =0
bool isActive () const
bool isActive () const
bool isUsable () const
bool isUsable () const
virtual unsigned layerNumber () const =0
virtual unsigned layerNumber () const =0
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
bool mustUse () const
bool mustUse () const
bool operator< (const TrkHitOnTrk &rhs) const
bool operator< (const TrkHitOnTrk &rhs) const
bool operator== (const TrkHitOnTrk &) const
bool operator== (const TrkHitOnTrk &) const
TrkRecoTrkparentTrack () const
TrkRecoTrkparentTrack () const
PdtPid::PidType particleType () const
PdtPid::PidType particleType () const
virtual void print (std::ostream &) const
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
virtual void printAll (std::ostream &) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double resid (bool exclude=false) const
double residual () const
double residual () const
void setActivity (bool turnOn)
void setActivity (bool turnOn)
virtual void setAmbig (int newambig)
virtual void setAmbig (int newambig)
void setFltLen (double f)
void setFltLen (double f)
void setHitRms (double newRms)
void setHitRms (double newRms)
void setUsability (int usability)
void setUsability (int usability)
virtual const SvtHitOnTrack * svtHitOnTrack () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
virtual bool timeAbsolute (double &time, double &error) const =0
virtual bool timeAbsolute (double &time, double &error) const =0
virtual bool timeResid (double &resid, double &error) const =0
virtual bool timeResid (double &resid, double &error) const =0
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
const TrkDifTrajtrkTraj () const
const TrkDifTrajtrkTraj () const
double weight () const
double weight () const
virtual TrkEnums::TrkViewInfo whatView () const =0
virtual TrkEnums::TrkViewInfo whatView () const =0
virtual ~TrkHitOnTrk ()
virtual ~TrkHitOnTrk ()

Protected Member Functions

TrkRepparentRep () const
TrkRepparentRep () const
void setHitLen (double h)
void setHitLen (double h)
void setHitResid (double newResid)
void setHitResid (double newResid)
void setUnusedHit ()
void setUnusedHit ()
void setUsedHit ()
void setUsedHit ()
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)=0
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)=0
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)

Protected Attributes

double _hitLen
double _hitRms
bool _isActive
int _isUsable
TrkRep_parentRep
TrkRep_parentRep
TrkPoca_poca
TrkPoca_poca
double _resid
TrkFundHit_theHit
TrkFundHit_theHit
double _tolerance
double _trkLen
const TrkDifTraj_trkTraj
const TrkDifTraj_trkTraj

Private Member Functions

TrkHitOnTrkoperator= (const TrkHitOnTrk &)
TrkHitOnTrkoperator= (const TrkHitOnTrk &)
TrkHitOnTrksetActive (bool active)
TrkHitOnTrksetActive (bool active)
TrkHitOnTrksetParent (TrkRep *rep)
TrkHitOnTrksetParent (TrkRep *rep)
 TrkHitOnTrk (const TrkHitOnTrk &hit)
 TrkHitOnTrk (const TrkHitOnTrk &hit)

Friends

class TrkBase::Functors::setActive
class TrkBase::Functors::setParent
class TrkBase::Functors::updateMeasurement
class TrkHitOnTrkUpdater
class TrkHotList
class TrkRecoTrk
class TrkRep

Member Typedef Documentation

typedef std::unary_function<TrkHitOnTrk,bool> TrkHitOnTrk::predicate_type
 

typedef std::unary_function<TrkHitOnTrk,bool> TrkHitOnTrk::predicate_type
 


Constructor & Destructor Documentation

TrkHitOnTrk::TrkHitOnTrk const TrkFundHit ,
double  tolerance
 

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]
 

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]
 

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]
 

TrkHitOnTrk::TrkHitOnTrk const TrkFundHit ,
double  tolerance
 

virtual TrkHitOnTrk::~TrkHitOnTrk  )  [virtual]
 

TrkHitOnTrk::TrkHitOnTrk const TrkHitOnTrk hitToBeCopied,
TrkRep newRep,
const TrkDifTraj trkTraj = 0
[protected]
 

TrkHitOnTrk::TrkHitOnTrk const TrkHitOnTrk hit  )  [private]
 


Member Function Documentation

virtual int TrkHitOnTrk::ambig  )  const [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

int TrkHitOnTrk::ambig  )  const [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

00182 {
00183   return 0;// by default no ambiguity
00184 }

virtual TrkHitOnTrk* TrkHitOnTrk::clone TrkRep parentRep,
const TrkDifTraj trkTraj = 0
const [pure virtual]
 

Implemented in MdcRecoHitOnTrack, TrkBmSpotOnTrk, MdcRecoHitOnTrack, and TrkBmSpotOnTrk.

virtual TrkHitOnTrk* TrkHitOnTrk::clone TrkRep parentRep,
const TrkDifTraj trkTraj = 0
const [pure virtual]
 

Implemented in MdcRecoHitOnTrack, TrkBmSpotOnTrk, MdcRecoHitOnTrack, and TrkBmSpotOnTrk.

double TrkHitOnTrk::fltLen  )  const [inline]
 

00091 {return _trkLen;}

double TrkHitOnTrk::fltLen  )  const [inline]
 

00091 {return _trkLen;}

TrkErrCode TrkHitOnTrk::getFitStuff double &  deltaChi  )  const
 

TrkErrCode TrkHitOnTrk::getFitStuff HepVector &  derivs,
double &  deltaChi
const
 

TrkErrCode TrkHitOnTrk::getFitStuff double &  deltaChi  )  const
 

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
 

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]
 

00073 {return _parentRep;}

const TrkRep* TrkHitOnTrk::getParentRep  )  const [inline]
 

00073 {return _parentRep;}

const TrkRecoTrk* TrkHitOnTrk::getParentTrack  )  const
 

const TrkRecoTrk * TrkHitOnTrk::getParentTrack  )  const
 

00153 {
00154   return getParentRep()->parentTrack();
00155 }

bool TrkHitOnTrk::hasResidual  )  const [inline]
 

00104 { return _poca != 0; }

bool TrkHitOnTrk::hasResidual  )  const [inline]
 

00104 { return _poca != 0; }

TrkFundHit* TrkHitOnTrk::hit void   )  [inline]
 

00076 {return _theHit;}

const TrkFundHit* TrkHitOnTrk::hit void   )  const [inline]
 

00075 {return _theHit;}

TrkFundHit* TrkHitOnTrk::hit  )  [inline]
 

00076 {return _theHit;}

const TrkFundHit* TrkHitOnTrk::hit  )  const [inline]
 

00075 {return _theHit;}

double TrkHitOnTrk::hitLen  )  const [inline]
 

00092 {return _hitLen;}

double TrkHitOnTrk::hitLen  )  const [inline]
 

00092 {return _hitLen;}

double TrkHitOnTrk::hitRms  )  const [inline]
 

00089 {return _hitRms;}

double TrkHitOnTrk::hitRms  )  const [inline]
 

00089 {return _hitRms;}

virtual const Trajectory* TrkHitOnTrk::hitTraj  )  const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual const Trajectory* TrkHitOnTrk::hitTraj  )  const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

bool TrkHitOnTrk::isActive  )  const [inline]
 

bool TrkHitOnTrk::isActive  )  const [inline]
 

00200 {return _isActive;}

bool TrkHitOnTrk::isUsable  )  const [inline]
 

bool TrkHitOnTrk::isUsable  )  const [inline]
 

00201 {return (_isUsable > 0);}

virtual unsigned TrkHitOnTrk::layerNumber  )  const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual unsigned TrkHitOnTrk::layerNumber  )  const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual const MdcHitOnTrack* TrkHitOnTrk::mdcHitOnTrack  )  const [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

const MdcHitOnTrack * TrkHitOnTrk::mdcHitOnTrack  )  const [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

00030 {return 0;}

bool TrkHitOnTrk::mustUse  )  const [inline]
 

bool TrkHitOnTrk::mustUse  )  const [inline]
 

00202 {return (_isUsable > 1);}

bool TrkHitOnTrk::operator< const TrkHitOnTrk rhs  )  const [inline]
 

00099 { return fltLen()<rhs.fltLen();}

bool TrkHitOnTrk::operator< const TrkHitOnTrk rhs  )  const [inline]
 

00099 { return fltLen()<rhs.fltLen();}

TrkHitOnTrk& TrkHitOnTrk::operator= const TrkHitOnTrk  )  [private]
 

TrkHitOnTrk& TrkHitOnTrk::operator= const TrkHitOnTrk  )  [private]
 

bool TrkHitOnTrk::operator== const TrkHitOnTrk  )  const
 

bool TrkHitOnTrk::operator== const TrkHitOnTrk  )  const
 

00176 {
00177   return this == &rhs;
00178 }

TrkRep* TrkHitOnTrk::parentRep  )  const [inline, protected]
 

00177 { return _parentRep;}

TrkRep* TrkHitOnTrk::parentRep  )  const [inline, protected]
 

00177 { return _parentRep;}

TrkRecoTrk* TrkHitOnTrk::parentTrack  )  const
 

TrkRecoTrk * TrkHitOnTrk::parentTrack  )  const
 

00147 {
00148   return parentRep()->parentTrack();
00149 }

PdtPid::PidType TrkHitOnTrk::particleType  )  const
 

PdtPid::PidType TrkHitOnTrk::particleType  )  const
 

00159 {
00160   return getParentRep()->particleType();
00161 }

virtual void TrkHitOnTrk::print std::ostream  )  const [virtual]
 

void TrkHitOnTrk::print std::ostream  )  const [virtual]
 

00132 {
00133   hit()->printAll(o);
00134   o << " hitlen " << hitLen() 
00135     << " fltlen " << fltLen()
00136     << " act " << (isActive() != 0) << endl;
00137 }

virtual void TrkHitOnTrk::printAll std::ostream  )  const [virtual]
 

void TrkHitOnTrk::printAll std::ostream  )  const [virtual]
 

00141 {
00142   print(o);
00143 }

bool TrkHitOnTrk::resid double &  resid,
double &  residErr,
bool  exclude = false
const
 

double TrkHitOnTrk::resid bool  exclude = false  )  const
 

bool TrkHitOnTrk::resid double &  resid,
double &  residErr,
bool  exclude = false
const
 

00206 {
00207   assert(getParentRep()!=0);
00208   return getParentRep()->resid(this,resid,residErr,exclude);
00209 }

double TrkHitOnTrk::resid bool  exclude = false  )  const
 

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
 

double TrkHitOnTrk::residual  )  const
 

00213 {
00214   assert (_trkTraj == &(getParentRep()->traj()));
00215   return _resid;
00216 }

TrkHitOnTrk* TrkHitOnTrk::setActive bool  active  )  [inline, private]
 

00195 { _isActive = active; return this; }

TrkHitOnTrk* TrkHitOnTrk::setActive bool  active  )  [inline, private]
 

00195 { _isActive = active; return this; }

void TrkHitOnTrk::setActivity bool  turnOn  ) 
 

void TrkHitOnTrk::setActivity bool  turnOn  ) 
 

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 }

virtual void TrkHitOnTrk::setAmbig int  newambig  )  [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

void TrkHitOnTrk::setAmbig int  newambig  )  [virtual]
 

Reimplemented in MdcHitOnTrack, and MdcHitOnTrack.

00188 {} // by default nothing to set

void TrkHitOnTrk::setFltLen double  f  )  [inline]
 

00147 {_trkLen = f;}

void TrkHitOnTrk::setFltLen double  f  )  [inline]
 

00147 {_trkLen = f;}

void TrkHitOnTrk::setHitLen double  h  )  [inline, protected]
 

00178 {_hitLen = h;}

void TrkHitOnTrk::setHitLen double  h  )  [inline, protected]
 

00178 {_hitLen = h;}

void TrkHitOnTrk::setHitResid double  newResid  )  [inline, protected]
 

00176 {_resid = newResid;}

void TrkHitOnTrk::setHitResid double  newResid  )  [inline, protected]
 

00176 {_resid = newResid;}

void TrkHitOnTrk::setHitRms double  newRms  )  [inline]
 

00154 {_hitRms = newRms;}

void TrkHitOnTrk::setHitRms double  newRms  )  [inline]
 

00154 {_hitRms = newRms;}

TrkHitOnTrk* TrkHitOnTrk::setParent TrkRep rep  )  [inline, private]
 

00196 { _parentRep = rep; return this; }

TrkHitOnTrk* TrkHitOnTrk::setParent TrkRep rep  )  [inline, private]
 

00196 { _parentRep = rep; return this; }

void TrkHitOnTrk::setUnusedHit  )  [protected]
 

void TrkHitOnTrk::setUnusedHit  )  [protected]
 

00171 {
00172   if (hit() != 0) hit()->setUnusedHit(this);
00173 }

void TrkHitOnTrk::setUsability int  usability  ) 
 

void TrkHitOnTrk::setUsability int  usability  ) 
 

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]
 

void TrkHitOnTrk::setUsedHit  )  [protected]
 

00165 {
00166   if (hit() != 0) hit()->setUsedHit(this);
00167 }

virtual const SvtHitOnTrack* TrkHitOnTrk::svtHitOnTrack  )  const [virtual]
 

const SvtHitOnTrack * TrkHitOnTrk::svtHitOnTrack  )  const [virtual]
 

00031 {return 0;}

virtual bool TrkHitOnTrk::timeAbsolute double &  time,
double &  error
const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual bool TrkHitOnTrk::timeAbsolute double &  time,
double &  error
const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual bool TrkHitOnTrk::timeResid double &  resid,
double &  error
const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual bool TrkHitOnTrk::timeResid double &  resid,
double &  error
const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

const TrkDifTraj* TrkHitOnTrk::trkTraj  )  const [inline]
 

00077 { return _trkTraj;}

const TrkDifTraj* TrkHitOnTrk::trkTraj  )  const [inline]
 

00077 { return _trkTraj;}

virtual TrkErrCode TrkHitOnTrk::updateMeasurement const TrkDifTraj traj,
bool  maintainAmbiguity
[protected, pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual TrkErrCode TrkHitOnTrk::updateMeasurement const TrkDifTraj traj,
bool  maintainAmbiguity
[protected, pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

TrkErrCode TrkHitOnTrk::updatePoca const TrkDifTraj trkTraj,
bool  maintainAmbiguity
[protected]
 

TrkErrCode TrkHitOnTrk::updatePoca const TrkDifTraj trkTraj,
bool  maintainAmbiguity
[protected]
 

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
 

double TrkHitOnTrk::weight  )  const
 

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, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.

virtual TrkEnums::TrkViewInfo TrkHitOnTrk::whatView  )  const [pure virtual]
 

Implemented in MdcHitOnTrack, TrkBmSpotOnTrk, MdcHitOnTrack, and TrkBmSpotOnTrk.


Friends And Related Function Documentation

TrkBase::Functors::setActive [friend]
 

TrkBase::Functors::setParent [friend]
 

TrkBase::Functors::updateMeasurement [friend]
 

TrkHitOnTrkUpdater [friend]
 

TrkHotList [friend]
 

TrkRecoTrk [friend]
 

TrkRep [friend]
 


Member Data Documentation

double TrkHitOnTrk::_hitLen [protected]
 

double TrkHitOnTrk::_hitRms [protected]
 

bool TrkHitOnTrk::_isActive [protected]
 

int TrkHitOnTrk::_isUsable [protected]
 

TrkRep* TrkHitOnTrk::_parentRep [protected]
 

TrkRep* TrkHitOnTrk::_parentRep [protected]
 

TrkPoca* TrkHitOnTrk::_poca [protected]
 

TrkPoca* TrkHitOnTrk::_poca [protected]
 

double TrkHitOnTrk::_resid [protected]
 

TrkFundHit* TrkHitOnTrk::_theHit [protected]
 

TrkFundHit* TrkHitOnTrk::_theHit [protected]
 

double TrkHitOnTrk::_tolerance [protected]
 

double TrkHitOnTrk::_trkLen [protected]
 

const TrkDifTraj* TrkHitOnTrk::_trkTraj [protected]
 

const TrkDifTraj* TrkHitOnTrk::_trkTraj [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:07:56 2011 for BOSS6.5.5 by  doxygen 1.3.9.1