![]() |
ATLAS Offline Software
|
#include <SegmentFinder.h>
Public Member Functions | |
| SegmentFinder () | |
| SegmentFinder (const SegmentFinder &)=delete | |
| copy c'tor deleted to prevent ownership/leak issues | |
| SegmentFinder & | operator= (const SegmentFinder &)=delete |
| assignment deleted to prevent ownership/leak issues | |
| SegmentFinder (double roadWidth, double deltaCut, bool fullScan) | |
| ~SegmentFinder () | |
| void | handleHits (const DCVec &dcs, const CLVec &clusters, ResolvedCollection< Segment, IsSubsetSegment< SortDcsByY > > &segments) const |
| SegVec | findSegments (const DCVec &dcs) const |
| SegVec | findSegments (const DCVec &dcs, const CLVec &clusters) const |
| SegVec | cleanSegments (const SegVec &segments) const |
| SegVec | refitSegments (const SegVec &segs) const |
| bool | dropHits (Segment &segment, bool &hasDroppedHit, unsigned int &dropDepth) const |
| void | setTGCPullCut (double cut) |
| void | setRPCPullCut (double cut) |
| void | setRecoverMDT (bool doRecover) |
| void | setDropHits (bool doDrop) |
| void | setSeedCleaning (bool doCleanup) |
| void | setSingleMultiLayerScan (bool doScan) |
| void | setChi2DropCut (double chi2) |
| void | setDeltaCut (double cut) |
| void | setRatioEmptyTubesCut (double ratioEmptyTubesCut) |
| void | setMdtGeometry (const ChamberGeometry *mdtGeo) |
| void | setPhiRoad (double phiRoad, double phiChamber, double sinPhiCut=0.2, bool useRoadPhi=true, bool useChamberPhi=true) |
| void | setSortSegmentsUsingAllHits (bool doAllHitsSort) |
| void | setUseChamberPhi (bool useChamberPhi) |
| void | setRemoveSingleOutliers (bool removeSingleOutliers) |
| void | setCurvedSegmentFinder (bool doCurvedSegmentFinder) |
| void | setFitter (std::shared_ptr< const DCSLFitter > fitter) |
| void | setMaxDropDepth (int max) |
| void | setResidualCutT0 (double resCut) |
| void | setDeltaCutT0 (double deltaCut) |
| void | setUseSegmentQuality (bool useQ) |
| void | debugLevel (int debugLevel) |
Protected Member Functions | |
| unsigned int | emptyCrossedTubes (const Line &line, const DCVec &closeEmptyTubes) const |
| DCVec | emptyNeighbours (const DCVec &dcs) const |
| void | handleSeedPair (const DriftCircle &seed1, const DriftCircle &seeds2, const DCVec &dcs, const CLVec &cls, MatchDCWithLine &matchWithLine, ResolvedCollection< Segment, IsSubsetSegment< SortDcsByY > > &segments) const |
| void | fullScan (const DCVec &seeds, const DCVec &dcs, const CLVec &cls, ResolvedCollection< Segment, IsSubsetSegment< SortDcsByY > > &segments) const |
| void | twoMultiLayerScan (const DCVec &seeds_ml1, const DCVec &seeds_ml2, const DCVec &dcs, const CLVec &cls, ResolvedCollection< Segment, IsSubsetSegment< SortDcsByY > > &segments) const |
| bool | directionCheck (const LocVec2D &LocVec2D) const |
| void | associateClusters (SegVec &segs, const CLVec &cls) const |
| void | associateClusters (Segment &seg, const CLVec &cls) const |
| void | crossedTubes (Segment &seg) const |
| bool | goodHitRatio (Segment &seg) const |
| void | updateDirections () |
| update the cached values for the phi road and chamber road | |
| void | printSettings () const |
| print settings | |
| double | tubeRadius () const |
Static Protected Member Functions | |
| static DCVec | selectSeeds (const DCVec &dcs, int maxSerie) |
| static std::pair< DCVec, DCVec > | splitInMulitlayers (const DCVec &dcs) |
| static DCVec | removeDCOnSegments (const DCVec &dcs, const SegVec &segs) |
| static void | updateMatch (Segment &seg, MatchDCWithLine &matchWithLine) |
Protected Attributes | |
| double | m_deltaCut {5.} |
| double | m_roadWidth {1.5} |
| double | m_phiRoad {M_PI_2} |
| LocVec2D | m_roadDir {0., 0.} |
| double | m_phiChamber {M_PI_2} |
| LocVec2D | m_chamberDir {0., 0.} |
| double | m_phiDifCut {0.5} |
| double | m_ratioEmptyTubesCut {1.} |
| double | m_chi2Cut {10} |
| double | m_tgcPullCut {5} |
| double | m_rpcPullCut {5} |
| double | m_resCutT0 {1.} |
| double | m_deltaCutT0 {5.} |
| bool | m_useSegmentQuality {false} |
| bool | m_recoverMdtHits {true} |
| std::shared_ptr< const DCSLFitter > | m_fitter |
| DCSLHitSelector | m_hitSelector |
| MatchCrossedTubes | m_matchCrossed |
| bool | m_removeSingleOutliers {true} |
| bool | m_fullScan {false} |
| bool | m_singleMultiLayerScan {true} |
| bool | m_seedCleaning {false} |
| bool | m_doDrop {true} |
| unsigned int | m_dropDepthMax {4} |
| bool | m_doAllHitSort {false} |
| bool | m_doCurvedSegmentFinder {false} |
| bool | m_useChamberPhi {true} |
| bool | m_useRoadPhi {true} |
| const ChamberGeometry * | m_mdtGeometry {nullptr} |
| int | m_debugLevel {0} |
| std::vector< int > m_dropDepthAcceptCounts | ATLAS_THREAD_SAFE {(int)m_dropDepthMax + 2, 0} |
| std::vector< int > m_dropDepthRejectCounts | ATLAS_THREAD_SAFE {(int)m_dropDepthMax + 1, 0} |
| std::mutex | m_mutex |
Definition at line 32 of file SegmentFinder.h.
| TrkDriftCircleMath::SegmentFinder::SegmentFinder | ( | ) |
Definition at line 21 of file SegmentFinder.cxx.
|
delete |
copy c'tor deleted to prevent ownership/leak issues
| TrkDriftCircleMath::SegmentFinder::SegmentFinder | ( | double | roadWidth, |
| double | deltaCut, | ||
| bool | fullScan ) |
Definition at line 28 of file SegmentFinder.cxx.
| TrkDriftCircleMath::SegmentFinder::~SegmentFinder | ( | ) |
Definition at line 37 of file SegmentFinder.cxx.
|
protected |
Definition at line 919 of file SegmentFinder.cxx.
|
protected |
Definition at line 913 of file SegmentFinder.cxx.
Definition at line 616 of file SegmentFinder.cxx.
|
protected |
Definition at line 793 of file SegmentFinder.cxx.
|
inline |
Definition at line 71 of file SegmentFinder.h.
|
inlineprotected |
Definition at line 145 of file SegmentFinder.h.
| bool TrkDriftCircleMath::SegmentFinder::dropHits | ( | Segment & | segment, |
| bool & | hasDroppedHit, | ||
| unsigned int & | dropDepth ) const |
Definition at line 409 of file SegmentFinder.cxx.
|
protected |
Definition at line 122 of file SegmentFinder.cxx.
| SegVec TrkDriftCircleMath::SegmentFinder::findSegments | ( | const DCVec & | dcs, |
| const CLVec & | clusters ) const |
Definition at line 225 of file SegmentFinder.cxx.
|
protected |
Definition at line 865 of file SegmentFinder.cxx.
|
protected |
Definition at line 970 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::handleHits | ( | const DCVec & | dcs, |
| const CLVec & | clusters, | ||
| ResolvedCollection< Segment, IsSubsetSegment< SortDcsByY > > & | segments ) const |
Definition at line 150 of file SegmentFinder.cxx.
|
protected |
Definition at line 718 of file SegmentFinder.cxx.
|
delete |
assignment deleted to prevent ownership/leak issues
|
protected |
print settings
Definition at line 127 of file SegmentFinder.cxx.
Copy the segment due to dropHits in line 324
Make a copy of the segment
Definition at line 305 of file SegmentFinder.cxx.
|
staticprotected |
Definition at line 888 of file SegmentFinder.cxx.
|
staticprotected |
Definition at line 268 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setChi2DropCut | ( | double | chi2 | ) |
Definition at line 79 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setCurvedSegmentFinder | ( | bool | doCurvedSegmentFinder | ) |
Definition at line 67 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setDeltaCut | ( | double | cut | ) |
Definition at line 81 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setDeltaCutT0 | ( | double | deltaCut | ) |
Definition at line 61 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setDropHits | ( | bool | doDrop | ) |
Definition at line 75 of file SegmentFinder.cxx.
|
inline |
Definition at line 65 of file SegmentFinder.h.
| void TrkDriftCircleMath::SegmentFinder::setMaxDropDepth | ( | int | max | ) |
Definition at line 46 of file SegmentFinder.cxx.
|
inline |
Definition at line 59 of file SegmentFinder.h.
| void TrkDriftCircleMath::SegmentFinder::setPhiRoad | ( | double | phiRoad, |
| double | phiChamber, | ||
| double | sinPhiCut = 0.2, | ||
| bool | useRoadPhi = true, | ||
| bool | useChamberPhi = true ) |
Definition at line 87 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setRatioEmptyTubesCut | ( | double | ratioEmptyTubesCut | ) |
Definition at line 85 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setRecoverMDT | ( | bool | doRecover | ) |
Definition at line 55 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setRemoveSingleOutliers | ( | bool | removeSingleOutliers | ) |
Definition at line 69 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setResidualCutT0 | ( | double | resCut | ) |
Definition at line 59 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setRPCPullCut | ( | double | cut | ) |
Definition at line 73 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setSeedCleaning | ( | bool | doCleanup | ) |
Definition at line 77 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setSingleMultiLayerScan | ( | bool | doScan | ) |
Definition at line 83 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setSortSegmentsUsingAllHits | ( | bool | doAllHitsSort | ) |
Definition at line 57 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setTGCPullCut | ( | double | cut | ) |
Definition at line 71 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setUseChamberPhi | ( | bool | useChamberPhi | ) |
Definition at line 65 of file SegmentFinder.cxx.
| void TrkDriftCircleMath::SegmentFinder::setUseSegmentQuality | ( | bool | useQ | ) |
Definition at line 63 of file SegmentFinder.cxx.
|
staticprotected |
Definition at line 255 of file SegmentFinder.cxx.
|
inlineprotected |
Definition at line 104 of file SegmentFinder.h.
|
protected |
Definition at line 849 of file SegmentFinder.cxx.
|
protected |
update the cached values for the phi road and chamber road
Definition at line 104 of file SegmentFinder.cxx.
|
staticprotected |
Definition at line 841 of file SegmentFinder.cxx.
|
mutableprotected |
Definition at line 140 of file SegmentFinder.h.
|
mutableprotected |
Definition at line 141 of file SegmentFinder.h.
|
protected |
Definition at line 111 of file SegmentFinder.h.
|
protected |
Definition at line 115 of file SegmentFinder.h.
|
protected |
Definition at line 138 of file SegmentFinder.h.
|
protected |
Definition at line 106 of file SegmentFinder.h.
|
protected |
Definition at line 119 of file SegmentFinder.h.
|
protected |
Definition at line 133 of file SegmentFinder.h.
|
protected |
Definition at line 134 of file SegmentFinder.h.
|
protected |
Definition at line 131 of file SegmentFinder.h.
|
protected |
Definition at line 132 of file SegmentFinder.h.
|
protected |
Definition at line 123 of file SegmentFinder.h.
|
protected |
Definition at line 128 of file SegmentFinder.h.
|
protected |
Definition at line 124 of file SegmentFinder.h.
|
protected |
Definition at line 125 of file SegmentFinder.h.
|
protected |
Definition at line 137 of file SegmentFinder.h.
|
mutableprotected |
Definition at line 142 of file SegmentFinder.h.
|
protected |
Definition at line 110 of file SegmentFinder.h.
|
protected |
Definition at line 113 of file SegmentFinder.h.
|
protected |
Definition at line 108 of file SegmentFinder.h.
|
protected |
Definition at line 114 of file SegmentFinder.h.
|
protected |
Definition at line 121 of file SegmentFinder.h.
|
protected |
Definition at line 127 of file SegmentFinder.h.
|
protected |
Definition at line 118 of file SegmentFinder.h.
|
protected |
Definition at line 109 of file SegmentFinder.h.
|
protected |
Definition at line 107 of file SegmentFinder.h.
|
protected |
Definition at line 117 of file SegmentFinder.h.
|
protected |
Definition at line 130 of file SegmentFinder.h.
|
protected |
Definition at line 129 of file SegmentFinder.h.
|
protected |
Definition at line 116 of file SegmentFinder.h.
|
protected |
Definition at line 135 of file SegmentFinder.h.
|
protected |
Definition at line 136 of file SegmentFinder.h.
|
protected |
Definition at line 120 of file SegmentFinder.h.