1 #ifndef RecoTracker_TkHitPairs_IntermediateHitDoublets_h 2 #define RecoTracker_TkHitPairs_IntermediateHitDoublets_h 54 template <
typename TMP>
56 region_(region),
cache_(cache), layerSetsBegin_(begin), layerSetsEnd_(end) {}
81 template<
typename ValueType,
typename HitSetType>
92 &(iter_->layerHitMapCache()),
94 hitSets_->layerSetsBegin() + iter_->layerSetBeginIndex(),
95 hitSets_->layerSetsBegin() + iter_->layerSetEndIndex());
127 using LayerPair = std::tuple<SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex>;
142 layerPair_(layerSet[0].
index(), layerSet[1].
index()),
177 bool valid()
const {
return obj_ !=
nullptr; }
183 obj_->regions_.back().setLayerSetsEnd(obj_->layerPairs_.size());
205 void reserve(
size_t nregions,
size_t nlayersets) {
206 regions_.reserve(nregions);
207 layerPairs_.reserve(nregions*nlayersets);
211 regions_.shrink_to_fit();
212 layerPairs_.shrink_to_fit();
216 regions_.emplace_back(region, layerPairs_.size());
221 bool empty()
const {
return regions_.empty(); }
231 std::vector<RegionIndex>::const_iterator
regionsBegin()
const {
return regions_.begin(); }
232 std::vector<RegionIndex>::const_iterator
regionsEnd()
const {
return regions_.end(); }
233 std::vector<LayerPairHitDoublets>::const_iterator
layerSetsBegin()
const {
return layerPairs_.begin(); }
234 std::vector<LayerPairHitDoublets>::const_iterator
layerSetsEnd()
const {
return layerPairs_.end(); }
const_iterator & operator++()
RegionLayerSets(const TrackingRegion *region, const LayerHitMapCache *cache, const TMP *, const_iterator begin, const_iterator end)
LayerHitMapCache & layerHitMapCache()
const_iterator begin() const
unsigned int layerSetEndIndex_
index of the beginning of layer sets of this region
internal_iterator_type iter_
const_iterator operator++(int)
const LayerHitMapCache * cache_
typename std::vector< T >::const_iterator const_iterator
const_iterator end() const
const const_iterator layerSetsEnd_
const_iterator cbegin() const
internal_iterator_type::difference_type difference_type
unsigned int layerSetBeginIndex() const
const TrackingRegion & region() const
Container::value_type value_type
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
bool operator==(const QGLikelihoodParameters &lhs, const QGLikelihoodCategory &rhs)
Test if parameters are compatible with category.
const HitSetType * hitSets_
const TrackingRegion * region_
bool operator==(const const_iterator &other) const
ValueType
Type of the value held by a Value object.
unsigned int layerSetEndIndex() const
const TrackingRegion & region() const
RegionIndex(const TrackingRegion *reg, unsigned int ind)
const LayerHitMapCache & layerHitMapCache() const
value_type operator*() const
const LayerHitMapCache & layerHitMapCache() const
unsigned short LayerIndex
const_iterator(const HitSetType *hst, internal_iterator_type iter)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
LayerHitMapCache cache_
pointer to TrackingRegion (owned elsewhere)
unsigned int layerSetBeginIndex_
const_iterator cend() const
typename std::vector< RegionIndex >::const_iterator internal_iterator_type
bool operator!=(const const_iterator &other) const
void setLayerSetsEnd(unsigned int end)
const TrackingRegion * region_
const const_iterator layerSetsBegin_