CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
IntermediateHitDoublets Class Reference

#include <IntermediateHitDoublets.h>

Classes

class  LayerPairHitDoublets
 
class  RegionFiller
 Helper class enforcing correct way of filling the doublets of a region. More...
 

Public Types

using const_iterator = ihd::const_iterator< RegionLayerSets, IntermediateHitDoublets >
 Iterator over regions. More...
 
using LayerPair = std::tuple< SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex >
 
using RegionIndex = ihd::RegionIndex
 
using RegionLayerSets = ihd::RegionLayerSets< LayerPairHitDoublets >
 Helper class providing nice interface to loop over layer sets of a region. More...
 

Public Member Functions

const_iterator begin () const
 
RegionFiller beginRegion (const TrackingRegion *region)
 
const_iterator cbegin () const
 
const_iterator cend () const
 
bool empty () const
 
const_iterator end () const
 
 IntermediateHitDoublets ()
 
 IntermediateHitDoublets (const SeedingLayerSetsHits *seedingLayers)
 
 IntermediateHitDoublets (const IntermediateHitDoublets &rh)
 
 IntermediateHitDoublets (IntermediateHitDoublets &&)=default
 
size_t layerPairsSize () const
 
std::vector< LayerPairHitDoublets >::const_iterator layerSetsBegin () const
 
std::vector< LayerPairHitDoublets >::const_iterator layerSetsEnd () const
 
IntermediateHitDoubletsoperator= (IntermediateHitDoublets &&)=default
 
std::vector< RegionIndex >::const_iterator regionsBegin () const
 
std::vector< RegionIndex >::const_iterator regionsEnd () const
 
size_t regionSize () const
 
void reserve (size_t nregions, size_t nlayersets)
 
const SeedingLayerSetsHitsseedingLayerHits () const
 
void shrink_to_fit ()
 
 ~IntermediateHitDoublets ()=default
 

Static Public Member Functions

static RegionFiller dummyFiller ()
 

Private Attributes

std::vector< LayerPairHitDoubletslayerPairs_
 Container of regions, each element has indices pointing to layerPairs_. More...
 
std::vector< RegionIndexregions_
 Pointer to SeedingLayerSetsHits (owned elsewhere) More...
 
const SeedingLayerSetsHitsseedingLayers_
 

Detailed Description

Container of temporary information delivered from hit pair generator to hit triplet generator via edm::Event.

The iterator loops over regions, and the value_type of that has an iterator looping over the layer pairs of the region.

Pointers to SeedingLayerSetsHits and TrackingRegion are stored, so the lifetime of those objects should be at least as long as the lifetime of this object.

Definition at line 127 of file IntermediateHitDoublets.h.

Member Typedef Documentation

Iterator over regions.

Definition at line 167 of file IntermediateHitDoublets.h.

Definition at line 129 of file IntermediateHitDoublets.h.

Definition at line 130 of file IntermediateHitDoublets.h.

Helper class providing nice interface to loop over layer sets of a region.

Definition at line 162 of file IntermediateHitDoublets.h.

Constructor & Destructor Documentation

IntermediateHitDoublets::IntermediateHitDoublets ( )
inline

Definition at line 196 of file IntermediateHitDoublets.h.

196 : seedingLayers_(nullptr) {}
const SeedingLayerSetsHits * seedingLayers_
IntermediateHitDoublets::IntermediateHitDoublets ( const SeedingLayerSetsHits seedingLayers)
inlineexplicit

Definition at line 197 of file IntermediateHitDoublets.h.

References ihd::RegionIndex::operator=().

197 : seedingLayers_(seedingLayers) {}
const SeedingLayerSetsHits * seedingLayers_
IntermediateHitDoublets::IntermediateHitDoublets ( const IntermediateHitDoublets rh)

Definition at line 4 of file IntermediateHitDoublets.cc.

References Exception.

4  {
5  throw cms::Exception("Not Implemented") << "The copy constructor of IntermediateHitDoublets should never be called. The function exists only to make ROOT dictionary generation happy.";
6 }
IntermediateHitDoublets::IntermediateHitDoublets ( IntermediateHitDoublets &&  )
default
IntermediateHitDoublets::~IntermediateHitDoublets ( )
default

Member Function Documentation

const_iterator IntermediateHitDoublets::begin ( void  ) const
inline

Definition at line 223 of file IntermediateHitDoublets.h.

223 { return const_iterator(this, regions_.begin()); }
ihd::const_iterator< RegionLayerSets, IntermediateHitDoublets > const_iterator
Iterator over regions.
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
RegionFiller IntermediateHitDoublets::beginRegion ( const TrackingRegion region)
inline

Definition at line 213 of file IntermediateHitDoublets.h.

Referenced by SeedFinderSelector::pass().

213  {
214  regions_.emplace_back(region, layerPairs_.size());
215  return RegionFiller(this);
216  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
const_iterator IntermediateHitDoublets::cbegin ( ) const
inline

Definition at line 224 of file IntermediateHitDoublets.h.

References begin.

224 { return begin(); }
const_iterator begin() const
const_iterator IntermediateHitDoublets::cend ( ) const
inline

Definition at line 226 of file IntermediateHitDoublets.h.

References end.

226 { return end(); }
const_iterator end() const
static RegionFiller IntermediateHitDoublets::dummyFiller ( )
inlinestatic

Definition at line 192 of file IntermediateHitDoublets.h.

192 { return RegionFiller(); }
bool IntermediateHitDoublets::empty ( void  ) const
inline

Definition at line 219 of file IntermediateHitDoublets.h.

Referenced by hitTripletEDProducerT::Impl< T_HitTripletGenerator, T_SeedingHitSets, T_IntermediateHitTriplets >::produce().

219 { return regions_.empty(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
const_iterator IntermediateHitDoublets::end ( void  ) const
inline

Definition at line 225 of file IntermediateHitDoublets.h.

225 { return const_iterator(this, regions_.end()); }
ihd::const_iterator< RegionLayerSets, IntermediateHitDoublets > const_iterator
Iterator over regions.
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
size_t IntermediateHitDoublets::layerPairsSize ( ) const
inline

Definition at line 221 of file IntermediateHitDoublets.h.

Referenced by hitTripletEDProducerT::Impl< T_HitTripletGenerator, T_SeedingHitSets, T_IntermediateHitTriplets >::produce().

221 { return layerPairs_.size(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsBegin ( ) const
inline

Definition at line 231 of file IntermediateHitDoublets.h.

231 { return layerPairs_.begin(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsEnd ( ) const
inline

Definition at line 232 of file IntermediateHitDoublets.h.

232 { return layerPairs_.end(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
IntermediateHitDoublets& IntermediateHitDoublets::operator= ( IntermediateHitDoublets &&  )
default
std::vector<RegionIndex>::const_iterator IntermediateHitDoublets::regionsBegin ( ) const
inline

Definition at line 229 of file IntermediateHitDoublets.h.

229 { return regions_.begin(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector<RegionIndex>::const_iterator IntermediateHitDoublets::regionsEnd ( ) const
inline

Definition at line 230 of file IntermediateHitDoublets.h.

230 { return regions_.end(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
size_t IntermediateHitDoublets::regionSize ( ) const
inline

Definition at line 220 of file IntermediateHitDoublets.h.

Referenced by SeedFinderSelector::pass(), and hitTripletEDProducerT::Impl< T_HitTripletGenerator, T_SeedingHitSets, T_IntermediateHitTriplets >::produce().

220 { return regions_.size(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
void IntermediateHitDoublets::reserve ( size_t  nregions,
size_t  nlayersets 
)
inline

Definition at line 203 of file IntermediateHitDoublets.h.

203  {
204  regions_.reserve(nregions);
205  layerPairs_.reserve(nregions*nlayersets);
206  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
const SeedingLayerSetsHits& IntermediateHitDoublets::seedingLayerHits ( ) const
inline
void IntermediateHitDoublets::shrink_to_fit ( )
inline

Definition at line 208 of file IntermediateHitDoublets.h.

208  {
209  regions_.shrink_to_fit();
210  layerPairs_.shrink_to_fit();
211  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

Member Data Documentation

std::vector<LayerPairHitDoublets> IntermediateHitDoublets::layerPairs_
private

Container of regions, each element has indices pointing to layerPairs_.

Definition at line 238 of file IntermediateHitDoublets.h.

std::vector<RegionIndex> IntermediateHitDoublets::regions_
private

Pointer to SeedingLayerSetsHits (owned elsewhere)

Definition at line 237 of file IntermediateHitDoublets.h.

const SeedingLayerSetsHits* IntermediateHitDoublets::seedingLayers_
private

Definition at line 235 of file IntermediateHitDoublets.h.