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 131 of file IntermediateHitDoublets.h.

Member Typedef Documentation

◆ const_iterator

Iterator over regions.

Definition at line 169 of file IntermediateHitDoublets.h.

◆ LayerPair

Definition at line 133 of file IntermediateHitDoublets.h.

◆ RegionIndex

Definition at line 134 of file IntermediateHitDoublets.h.

◆ RegionLayerSets

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

Definition at line 164 of file IntermediateHitDoublets.h.

Constructor & Destructor Documentation

◆ IntermediateHitDoublets() [1/4]

IntermediateHitDoublets::IntermediateHitDoublets ( )
inline

Definition at line 199 of file IntermediateHitDoublets.h.

199 : seedingLayers_(nullptr) {}
const SeedingLayerSetsHits * seedingLayers_

◆ IntermediateHitDoublets() [2/4]

IntermediateHitDoublets::IntermediateHitDoublets ( const SeedingLayerSetsHits seedingLayers)
inlineexplicit

Definition at line 200 of file IntermediateHitDoublets.h.

◆ IntermediateHitDoublets() [3/4]

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. "
6  "The function exists only to make ROOT dictionary generation happy.";
7 }

◆ IntermediateHitDoublets() [4/4]

IntermediateHitDoublets::IntermediateHitDoublets ( IntermediateHitDoublets &&  )
default

◆ ~IntermediateHitDoublets()

IntermediateHitDoublets::~IntermediateHitDoublets ( )
default

Member Function Documentation

◆ begin()

const_iterator IntermediateHitDoublets::begin ( void  ) const
inline

Definition at line 226 of file IntermediateHitDoublets.h.

References regions_.

Referenced by cbegin().

226 { 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)

◆ beginRegion()

RegionFiller IntermediateHitDoublets::beginRegion ( const TrackingRegion region)
inline

Definition at line 216 of file IntermediateHitDoublets.h.

References layerPairs_, nano_mu_digi_cff::region, and regions_.

216  {
217  regions_.emplace_back(region, layerPairs_.size());
218  return RegionFiller(this);
219  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

◆ cbegin()

const_iterator IntermediateHitDoublets::cbegin ( ) const
inline

Definition at line 227 of file IntermediateHitDoublets.h.

References begin().

227 { return begin(); }
const_iterator begin() const

◆ cend()

const_iterator IntermediateHitDoublets::cend ( ) const
inline

Definition at line 229 of file IntermediateHitDoublets.h.

References end().

229 { return end(); }
const_iterator end() const

◆ dummyFiller()

static RegionFiller IntermediateHitDoublets::dummyFiller ( )
inlinestatic

Definition at line 195 of file IntermediateHitDoublets.h.

195 { return RegionFiller(); }

◆ empty()

bool IntermediateHitDoublets::empty ( void  ) const
inline

Definition at line 222 of file IntermediateHitDoublets.h.

References regions_.

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

222 { return regions_.empty(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)

◆ end()

const_iterator IntermediateHitDoublets::end ( void  ) const
inline

Definition at line 228 of file IntermediateHitDoublets.h.

References regions_.

Referenced by cend().

228 { 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)

◆ layerPairsSize()

size_t IntermediateHitDoublets::layerPairsSize ( ) const
inline

Definition at line 224 of file IntermediateHitDoublets.h.

References layerPairs_.

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

224 { return layerPairs_.size(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

◆ layerSetsBegin()

std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsBegin ( ) const
inline

Definition at line 234 of file IntermediateHitDoublets.h.

References layerPairs_.

234 { return layerPairs_.begin(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

◆ layerSetsEnd()

std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsEnd ( ) const
inline

Definition at line 235 of file IntermediateHitDoublets.h.

References layerPairs_.

235 { return layerPairs_.end(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

◆ operator=()

IntermediateHitDoublets& IntermediateHitDoublets::operator= ( IntermediateHitDoublets &&  )
default

◆ regionsBegin()

std::vector<RegionIndex>::const_iterator IntermediateHitDoublets::regionsBegin ( ) const
inline

Definition at line 232 of file IntermediateHitDoublets.h.

References regions_.

232 { return regions_.begin(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)

◆ regionsEnd()

std::vector<RegionIndex>::const_iterator IntermediateHitDoublets::regionsEnd ( ) const
inline

Definition at line 233 of file IntermediateHitDoublets.h.

References regions_.

233 { return regions_.end(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)

◆ regionSize()

size_t IntermediateHitDoublets::regionSize ( ) const
inline

Definition at line 223 of file IntermediateHitDoublets.h.

References regions_.

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

223 { return regions_.size(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)

◆ reserve()

void IntermediateHitDoublets::reserve ( size_t  nregions,
size_t  nlayersets 
)
inline

Definition at line 206 of file IntermediateHitDoublets.h.

References layerPairs_, and regions_.

206  {
207  regions_.reserve(nregions);
208  layerPairs_.reserve(nregions * nlayersets);
209  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.

◆ seedingLayerHits()

const SeedingLayerSetsHits& IntermediateHitDoublets::seedingLayerHits ( ) const
inline

◆ shrink_to_fit()

void IntermediateHitDoublets::shrink_to_fit ( )
inline

Definition at line 211 of file IntermediateHitDoublets.h.

References layerPairs_, and regions_.

211  {
212  regions_.shrink_to_fit();
213  layerPairs_.shrink_to_fit();
214  }
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

◆ layerPairs_

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

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

Definition at line 241 of file IntermediateHitDoublets.h.

Referenced by IntermediateHitDoublets::RegionFiller::addDoublets(), beginRegion(), layerPairsSize(), layerSetsBegin(), layerSetsEnd(), reserve(), and shrink_to_fit().

◆ regions_

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

◆ seedingLayers_

const SeedingLayerSetsHits* IntermediateHitDoublets::seedingLayers_
private

Definition at line 238 of file IntermediateHitDoublets.h.

Referenced by seedingLayerHits().