1 #ifndef DTSegment_DTCombinatorialPatternReco_h 2 #define DTSegment_DTCombinatorialPatternReco_h 32 #include <unordered_set> 57 const std::vector<DTRecHit1DPair>&
hits)
override;
74 const std::vector<DTRecHit1DPair>&
hits);
93 std::deque<std::shared_ptr<DTHitPairForFit>>& pointsNoLR,
114 typedef std::vector<short unsigned int>
values;
129 seed ^=
hasher(
v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
157 typedef std::unordered_set<TriedPattern, TriedPattern::HashFunction>
TriedPatterns;
165 #endif // DTSegment_DTCombinatorialPatternReco_h
~DTCombinatorialPatternReco() override
Destructor.
const_iterator end() const
std::vector< std::shared_ptr< DTHitPairForFit > > initHits(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits)
edm::OwnVector< DTSLRecSegment2D > reconstruct(const DTSuperLayer *sl, const std::vector< DTRecHit1DPair > &hits) override
this function is called in the producer
std::vector< short unsigned int > values
DTSegmentCleaner * theCleaner
DTSegmentUpdator * theUpdator
unsigned int theMaxAllowedHits
void hash_combine(std::size_t &seed, const T &v)
values::size_type size() const
edm::ESHandle< DTGeometry > theDTGeometry
void buildPointsCollection(std::vector< DTSegmentCand::AssPoint > &points, std::deque< std::shared_ptr< DTHitPairForFit >> &pointsNoLR, std::vector< DTSegmentCand *> &candidates, const DTSuperLayer *sl)
DTCombinatorialPatternReco(const edm::ParameterSet &pset, edm::ConsumesCollector)
Constructor.
std::size_t hash_value(const DTCombinatorialPatternReco::TriedPattern &t)
size_t operator()(const TriedPattern &p) const
const edm::ESGetToken< DTGeometry, MuonGeometryRecord > theDTGeometryToken
void push_back(short unsigned int i)
push back value, and update the hash
std::vector< DTSegmentCand * > buildSegments(const DTSuperLayer *sl, const std::vector< std::shared_ptr< DTHitPairForFit >> &hits)
bool checkDoubleCandidates(std::vector< DTSegmentCand *> &segs, DTSegmentCand *seg)
DTSegmentCand * buildBestSegment(std::vector< DTSegmentCand::AssPoint > &assHits, const DTSuperLayer *sl)
std::string algoName() const override
return the algo name
std::vector< DTSegmentCand::AssPoint > findCompatibleHits(const LocalPoint &pos, const LocalVector &dir, const std::vector< std::shared_ptr< DTHitPairForFit >> &hits)
values::const_iterator const_iterator
std::unordered_set< TriedPattern, TriedPattern::HashFunction > TriedPatterns
const_iterator begin() const
TriedPatterns theTriedPattern
void setES(const edm::EventSetup &setup) override
bool operator==(const TriedPattern &other) const