#include <TMLink.h>
Public Member Functions | |
TMLink (TTrack *track=0, const TMDCWireHit *hit=0, const HepPoint3D &position=HepPoint3D(), const HepPoint3D &positionD=HepPoint3D(), const double=0.0) | |
Constructor. | |
TMLink (const TMLink &) | |
Copy constructor. | |
virtual | ~TMLink () |
Destructor. | |
void | dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const |
dumps debug information. | |
const TMDCWireHit * | hit (void) const |
returns a pointer to a hit. | |
const TMDCWire *const | wire (void) const |
returns a pointer to a wire. | |
TTrack * | track (void) const |
returns a pointer to a track. | |
double | pull (void) const |
returns pull. | |
const HepPoint3D & | xyPosition (void) const |
returns middle position of a wire. z componet is 0. | |
const HepPoint3D & | positionOnWire (void) const |
returns the closest point on wire to a track. | |
const HepPoint3D & | positionOnTrack (void) const |
returns the closest point on track to wire. | |
double | dPhi (void) const |
returns dPhi to the closest point. | |
unsigned | leftRight (void) const |
returns left-right. 0:left, 1:right, 2:wire | |
int | zStatus (void) const |
returns stauts of stereo hit | |
int | zPair (void) const |
returns id# of the pair, if zStatus == 20 (2 consective hits). | |
const HepPoint3D & | position (void) const |
returns position. | |
const HepPoint3D & | positionD (void) const |
double | distance (void) const |
returns distance between point on wire and on track. | |
double | distance (double) |
double | distancenew (void) const |
TMLink * | neighbor (unsigned int) const |
returns neighbor TMLink. | |
TMLink * | link (void) const |
returns a pointer to a TMLink. | |
const HepPoint3D & | arcZ (const unsigned=0) const |
returns arc and Z for the curl finder. | |
const HepPoint3D & | conf (const HepPoint3D &conf) |
void | update (const HepPoint3D &onTrack, const HepPoint3D &onWire, unsigned leftRight, double pull) |
sets results of fitting. | |
const TMDCWireHit * | hit (const TMDCWireHit *) |
sets a pointer to a hit. | |
TTrack * | track (TTrack *) |
sets a pointer to a track. | |
const HepPoint3D & | positionOnWire (const HepPoint3D &) |
sets and returns the closest point on wire to a track. | |
const HepPoint3D & | positionOnWire (double p[3]) |
const HepPoint3D & | positionOnTrack (const HepPoint3D &) |
sets and returns the closest point on track to wire. | |
const HepPoint3D & | positionOnTrack (double p[3]) |
double | dPhi (double) |
sets and returns dPhi to the closest point. | |
const HepPoint3D & | position (const HepPoint3D &) |
sets and returns position. | |
const HepPoint3D & | positionD (const HepPoint3D &) |
void | neighbor (unsigned int, TMLink *) |
sets neighbor TMLink. | |
TMLink * | link (TMLink *) |
sets a pointer to a TMLink. | |
unsigned | leftRight (unsigned) |
sets left-right. 0:left, 1:right, 2:wire | |
double | pull (double) |
sets pull. | |
int | zStatus (int) |
sets stereo Hit status | |
int | zPair (int) |
sets id# of the pair | |
const HepPoint3D & | arcZ (const HepPoint3D &, const unsigned=0) |
sets and returns arc and Z for the curl finder. | |
const unsigned | fit2D (const unsigned &) |
unsigned | fit2D (void) |
float | drift (void) const |
returns/sets drift distance. | |
float | drift (unsigned) const |
float | drift (float, unsigned) |
double | cDrift (void) const |
double | cDrift (unsigned) const |
double | cDrift (double, unsigned) |
float | dDrift (void) const |
returns/sets drift distance error. | |
float | dDrift (unsigned) const |
float | dDrift (float, unsigned) |
unsigned | tsfTag (void) const |
return tsfTag of links | |
unsigned | tsfTag (unsigned) |
double | tof (void) const |
return time of flight | |
double | tof (double) |
void | setDriftTime (double) |
add by jialk returns timeDrift after prop correction | |
double | getDriftTime (void) |
double | DriftTime (double, double) const |
returs drift time | |
Private Attributes | |
TTrack * | _track |
const TMDCWireHit * | _hit |
HepPoint3D | _onTrack |
HepPoint3D | _onWire |
HepPoint3D | _position |
HepPoint3D | _positionD |
double | _dPhi |
unsigned | _leftRight |
float | _drift [2] |
float | _dDrift [2] |
double | _cDrift [2] |
int | _zStatus |
int | _zPair |
double | _pull |
double | _distance |
TMLink * | _neighbor [6] |
TMLink * | _link |
HepPoint3D | _conf |
double | _tof |
double | _drifttime |
HepPoint3D | _arcZ [4] |
unsigned | _fit2D |
unsigned | _tsfTag |
Definition at line 43 of file TMLink.h.
TMLink::TMLink | ( | TTrack * | track = 0 , |
|
const TMDCWireHit * | hit = 0 , |
|||
const HepPoint3D & | position = HepPoint3D() , |
|||
const HepPoint3D & | positionD = HepPoint3D() , |
|||
const | double = 0.0 | |||
) |
Constructor.
Definition at line 67 of file TMLink.cxx.
References _arcZ, _cDrift, _dDrift, _drift, _neighbor, _onTrack, _onWire, TMDCWireHit::dDrift(), TMDCWireHit::drift(), and genRecEmupikp::i.
00068 : _track(t), 00069 _hit(h), 00070 _dPhi(0), 00071 _leftRight(0), 00072 _pull(0), 00073 _position(p), 00074 _positionD(d), 00075 _link(0), 00076 _fit2D(0), 00077 _tsfTag(0) { 00078 if (h) { 00079 _cDrift[0] = dr; //after conformal transformation. 00080 _cDrift[1] = dr; 00081 _drift[0] = h->drift(0); 00082 _drift[1] = h->drift(1); 00083 _dDrift[0] = h->dDrift(0); 00084 _dDrift[1] = h->dDrift(1); 00085 } 00086 else { 00087 _cDrift[0] = 0.; 00088 _cDrift[1] = 0.; 00089 _drift[0] = 0.; 00090 _drift[1] = 0.; 00091 _dDrift[0] = 0.; 00092 _dDrift[1] = 0.; 00093 } 00094 00095 for (unsigned i = 0; i < 6; ++i) 00096 _neighbor[i] = NULL; 00097 for (unsigned i = 0; i < 4; ++i) 00098 _arcZ[i]; 00099 00100 00101 if (h) { 00102 _onTrack = _onWire = h->xyPosition(); 00103 } 00104 }
TMLink::TMLink | ( | const TMLink & | ) |
Copy constructor.
Definition at line 106 of file TMLink.cxx.
References _arcZ, _cDrift, _dDrift, _drift, _neighbor, for, and genRecEmupikp::i.
00107 : _track(l._track), 00108 _hit(l._hit), 00109 _onTrack(l._onTrack), 00110 _onWire(l._onWire), 00111 _position(l._position), 00112 _positionD(l._positionD), 00113 _dPhi(l._dPhi), 00114 _leftRight(l._leftRight), 00115 _pull(l._pull), 00116 _link(l._link), 00117 _distance(l._distance), 00118 // addition by matsu ( 1999/07/05 ) 00119 // _mclust(l._mclust ), 00120 // _usecathode(l._usecathode ), 00121 // end of addition 00122 _fit2D(l._fit2D), 00123 _tsfTag(l._tsfTag) { 00124 _drift[0] = l._drift[0]; 00125 _drift[1] = l._drift[1]; 00126 _dDrift[0] = l._dDrift[0]; 00127 _dDrift[1] = l._dDrift[1]; 00128 _cDrift[0] = l._cDrift[0]; 00129 _cDrift[1] = l._cDrift[1]; 00130 for (unsigned i = 0; i < 6; ++i) 00131 _neighbor[i] = l._neighbor[i]; 00132 for (unsigned i = 0; i < 4; ++i) 00133 _arcZ[i] = l._arcZ[i]; 00134 00135 }
TMLink::~TMLink | ( | ) | [virtual] |
const HepPoint3D & TMLink::arcZ | ( | const HepPoint3D & | , | |
const | unsigned = 0 | |||
) | [inline] |
const HepPoint3D & TMLink::arcZ | ( | const | unsigned = 0 |
) | const [inline] |
double TMLink::cDrift | ( | double | , | |
unsigned | ||||
) | [inline] |
double TMLink::cDrift | ( | unsigned | ) | const [inline] |
double TMLink::cDrift | ( | void | ) | const [inline] |
const HepPoint3D & TMLink::conf | ( | const HepPoint3D & | conf | ) | [inline] |
float TMLink::dDrift | ( | float | , | |
unsigned | ||||
) | [inline] |
float TMLink::dDrift | ( | unsigned | ) | const [inline] |
float TMLink::dDrift | ( | void | ) | const [inline] |
returns/sets drift distance error.
Definition at line 746 of file TMLink.h.
References _dDrift.
Referenced by TMDC::driftDistance(), TSegment::maxdDistance(), and TrkReco::maxdDistance().
double TMLink::distance | ( | double | ) | [inline] |
double TMLink::distance | ( | void | ) | const [inline] |
returns distance between point on wire and on track.
Definition at line 567 of file TMLink.h.
References _onTrack, and _onWire.
Referenced by TTrackManager::salvageAssociateHits(), and TTrackBase::testByApproach().
double TMLink::distancenew | ( | void | ) | const [inline] |
double TMLink::dPhi | ( | double | ) | [inline] |
double TMLink::dPhi | ( | void | ) | const [inline] |
returns dPhi to the closest point.
Definition at line 492 of file TMLink.h.
References _dPhi.
Referenced by TTrack::approach(), TTrack::approach2D(), TTrackManager::copyTrack(), THelixFitter::drift(), TMDC::driftDistance(), TTrack::fit2D(), and TTrackManager::makeTds().
00492 { 00493 return _dPhi; 00494 }
float TMLink::drift | ( | float | , | |
unsigned | ||||
) | [inline] |
float TMLink::drift | ( | unsigned | ) | const [inline] |
float TMLink::drift | ( | void | ) | const [inline] |
double TMLink::DriftTime | ( | double | , | |
double | ||||
) | const |
returs drift time
void TMLink::dump | ( | const std::string & | message = std::string("") , |
|
const std::string & | prefix = std::string("") | |||
) | const |
dumps debug information.
Definition at line 141 of file TMLink.cxx.
References _hit, _track, and TMDCWireHit::dump().
Referenced by TTrackBase::testByApproach().
00141 { 00142 std::cout << pre; 00143 if (_track) std::cout << "track#=,"; 00144 if (_hit) { 00145 _hit->dump(msg); 00146 } 00147 }
unsigned TMLink::fit2D | ( | void | ) | [inline] |
const unsigned TMLink::fit2D | ( | const unsigned & | ) | [inline] |
Definition at line 686 of file TMLink.h.
References _fit2D.
Referenced by TTrack::fit2D().
00686 { 00687 return _fit2D = f; 00688 }
double TMLink::getDriftTime | ( | void | ) | [inline] |
Definition at line 776 of file TMLink.h.
References _drifttime.
00776 { 00777 return _drifttime; 00778 }
const TMDCWireHit * TMLink::hit | ( | const TMDCWireHit * | ) | [inline] |
const TMDCWireHit * TMLink::hit | ( | void | ) | const [inline] |
returns a pointer to a hit.
Definition at line 390 of file TMLink.h.
References _hit.
Referenced by TTrackBase::append(), TSegmentCurl::append(), TTrack::assign(), TBuilder0::buildStereo(), calVirtualCircle(), TBuilder0::check2CnHits(), TTrackMC::compare(), TBuilder0::consectiveHits(), TCurlFinder::distance(), THelixFitter::drift(), T3DLineFitter::drift(), TMDC::driftDistance(), TMLine::fit2(), TLine0::fit2(), TTrack::fit2D(), TMLine::fit2p(), TLine0::fit2p(), offsetBorder(), TSegmentCurl::remove(), TTrackManager::salvageAssociateHits(), TCurlFinder::searchHits(), TTrack::szPosition(), TTrackBase::testByApproach(), and TCircle::weight().
00390 { 00391 return _hit; 00392 }
unsigned TMLink::leftRight | ( | unsigned | ) | [inline] |
sets left-right. 0:left, 1:right, 2:wire
Definition at line 486 of file TMLink.h.
References _leftRight.
00486 { 00487 return _leftRight = a; 00488 }
unsigned TMLink::leftRight | ( | void | ) | const [inline] |
returns left-right. 0:left, 1:right, 2:wire
Definition at line 480 of file TMLink.h.
References _leftRight.
Referenced by TBuilderCosmic::buildStereo(), TBuilder0::buildStereo(), TBuilder0::buildStereo0(), TPerfectFinder::doit(), and TTrack::szPosition().
00480 { 00481 return _leftRight; 00482 }
TMLink * TMLink::link | ( | void | ) | const [inline] |
returns a pointer to a TMLink.
Definition at line 555 of file TMLink.h.
References _link.
Referenced by TBuilderCosmic::buildStereo(), TBuilder0::buildStereo(), TBuilder::buildStereo(), and TBuilder0::buildStereo0().
00555 { 00556 return _link; 00557 }
void TMLink::neighbor | ( | unsigned | int, | |
TMLink * | ||||
) | [inline] |
TMLink * TMLink::neighbor | ( | unsigned | int | ) | const [inline] |
returns neighbor TMLink.
Definition at line 547 of file TMLink.h.
References _neighbor.
Referenced by findIsolatedCloseHits(), neighbor(), TCurlFinder::searchSegment(), TCurlFinder::setNeighboringWires(), and TCircle::weight().
00547 { 00548 if(n <= 6) 00549 return _neighbor[n]; 00550 return NULL; 00551 }
const HepPoint3D & TMLink::position | ( | const HepPoint3D & | ) | [inline] |
const HepPoint3D & TMLink::position | ( | void | ) | const [inline] |
returns position.
Definition at line 504 of file TMLink.h.
References _position.
Referenced by TBuilderCosmic::buildStereo(), TBuilder0::buildStereo0(), TMDCTsf::createTsf(), TMLine::distance(), TLine0::distance(), TMLine::fit2(), TLine0::fit2(), TMLine::fit2p(), TLine0::fit2p(), TMLine::fit2s(), TLine0::fit2s(), TMLine::fit2sp(), TLine0::fit2sp(), and TTrack::szPosition().
00504 { 00505 return _position; 00506 }
const HepPoint3D & TMLink::positionD | ( | const HepPoint3D & | ) | [inline] |
Definition at line 522 of file TMLink.h.
References _positionD.
00522 { 00523 return _positionD = a; 00524 }
const HepPoint3D & TMLink::positionD | ( | void | ) | const [inline] |
Definition at line 516 of file TMLink.h.
References _positionD.
Referenced by TSegment::distance2(), and TSegment::fitLine().
00516 { 00517 return _positionD; 00518 }
const HepPoint3D & TMLink::positionOnTrack | ( | double | p[3] | ) | [inline] |
const HepPoint3D & TMLink::positionOnTrack | ( | const HepPoint3D & | ) | [inline] |
const HepPoint3D & TMLink::positionOnTrack | ( | void | ) | const [inline] |
returns the closest point on track to wire.
Definition at line 444 of file TMLink.h.
References _onTrack.
Referenced by TTrack::approach(), TRunge::approach(), T3DLine::approach(), TTrack::approach2D(), TTrackManager::divide(), THelixFitter::drift(), T3DLineFitter::drift(), T3DLineFitter::dxda(), and TTrack::fit2D().
00444 { 00445 return _onTrack; 00446 }
const HepPoint3D & TMLink::positionOnWire | ( | double | p[3] | ) | [inline] |
const HepPoint3D & TMLink::positionOnWire | ( | const HepPoint3D & | ) | [inline] |
const HepPoint3D & TMLink::positionOnWire | ( | void | ) | const [inline] |
returns the closest point on wire to a track.
Definition at line 438 of file TMLink.h.
References _onWire.
Referenced by TTrack::approach(), TRunge::approach(), T3DLine::approach(), TTrack::approach2D(), THelixFitter::drift(), T3DLineFitter::drift(), TMDC::driftDistance(), T3DLineFitter::dxda(), and TTrack::fit2D().
00438 { 00439 return _onWire; 00440 }
double TMLink::pull | ( | double | ) | [inline] |
double TMLink::pull | ( | void | ) | const [inline] |
returns pull.
Definition at line 426 of file TMLink.h.
References _pull.
Referenced by TTrackManager::salvageAssociateHits(), and TTrackBase::testByApproach().
00426 { 00427 return _pull; 00428 }
void TMLink::setDriftTime | ( | double | ) | [inline] |
add by jialk returns timeDrift after prop correction
Definition at line 782 of file TMLink.h.
References _drifttime.
Referenced by THelixFitter::drift().
00782 { 00783 _drifttime = time; 00784 00785 }
double TMLink::tof | ( | double | ) | [inline] |
double TMLink::tof | ( | void | ) | const [inline] |
TTrack * TMLink::track | ( | void | ) | const [inline] |
unsigned TMLink::tsfTag | ( | unsigned | ) | [inline] |
unsigned TMLink::tsfTag | ( | void | ) | const [inline] |
return tsfTag of links
Definition at line 752 of file TMLink.h.
References _tsfTag.
Referenced by TSegment::splitTsf().
00752 { 00753 return _tsfTag; 00754 }
void TMLink::update | ( | const HepPoint3D & | onTrack, | |
const HepPoint3D & | onWire, | |||
unsigned | leftRight, | |||
double | pull | |||
) | [inline] |
sets results of fitting.
Definition at line 414 of file TMLink.h.
References _leftRight, _onTrack, _onWire, and _pull.
Referenced by TTrack::fit2D().
00417 { 00418 _onTrack = onTrack; 00419 _onWire = onWire; 00420 _leftRight = leftRight; 00421 _pull = pull; 00422 }
const TMDCWire *const TMLink::wire | ( | void | ) | const |
returns a pointer to a wire.
Definition at line 22 of file TMLink.cxx.
References _hit, and TMDCWireHit::wire().
Referenced by TTrackBase::append(), TSegment::appendByLine(), TTrack::approach(), TRunge::approach(), T3DLine::approach(), TTrack::approach2D(), calVirtualCircle(), TMDCTsf::createTsf(), TCurlFinder::distance(), TRunge::DisToWire(), TPerfectFinder::doit(), TTrack::dxda(), T3DLineFitter::dxda(), TTrack::dxda2D(), findIsolatedCloseHits(), TTrack::fit2D(), TTrackManager::maskNormal(), TSegment::maxdDistance(), TrkReco::maxdDistance(), TTrackManager::merge(), SameLayer(), SameSuperLayer(), TCurlFinder::searchAxialCand(), TCurlFinder::searchHits(), and TSegment::splitTsf().
00022 { 00023 if (_hit) return _hit->wire(); 00024 return NULL; 00025 }
const HepPoint3D & TMLink::xyPosition | ( | void | ) | const |
returns middle position of a wire. z componet is 0.
Definition at line 28 of file TMLink.cxx.
References _hit, TMDCWireHit::wire(), and TMDCWire::xyPosition().
Referenced by TCurlFinder::distance(), TSegment0::solveDualHits(), and TSegment::solveDualHits().
00028 { 00029 return _hit->wire()->xyPosition(); 00030 }
int TMLink::zPair | ( | int | ) | [inline] |
int TMLink::zPair | ( | void | ) | const [inline] |
returns id# of the pair, if zStatus == 20 (2 consective hits).
Definition at line 623 of file TMLink.h.
References _zPair.
Referenced by TBuilder0::buildStereo().
00623 { 00624 return _zPair; 00625 }
int TMLink::zStatus | ( | int | ) | [inline] |
int TMLink::zStatus | ( | void | ) | const [inline] |
returns stauts of stereo hit
Definition at line 611 of file TMLink.h.
References _zStatus.
Referenced by TBuilder0::buildStereo().
00611 { 00612 return _zStatus; 00613 }
HepPoint3D TMLink::_arcZ[4] [private] |
double TMLink::_cDrift[2] [private] |
HepPoint3D TMLink::_conf [private] |
float TMLink::_dDrift[2] [private] |
double TMLink::_distance [private] |
double TMLink::_dPhi [private] |
float TMLink::_drift[2] [private] |
double TMLink::_drifttime [private] |
unsigned TMLink::_fit2D [private] |
const TMDCWireHit* TMLink::_hit [private] |
unsigned TMLink::_leftRight [private] |
TMLink* TMLink::_link [private] |
TMLink* TMLink::_neighbor[6] [private] |
HepPoint3D TMLink::_onTrack [private] |
Definition at line 228 of file TMLink.h.
Referenced by distance(), positionOnTrack(), TMLink(), and update().
HepPoint3D TMLink::_onWire [private] |
Definition at line 229 of file TMLink.h.
Referenced by distance(), positionOnWire(), TMLink(), and update().
HepPoint3D TMLink::_position [private] |
HepPoint3D TMLink::_positionD [private] |
double TMLink::_pull [private] |
double TMLink::_tof [private] |
TTrack* TMLink::_track [private] |
unsigned TMLink::_tsfTag [private] |
int TMLink::_zPair [private] |
int TMLink::_zStatus [private] |