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 IntermediateHitDoublets &rh)
 
 IntermediateHitDoublets (const SeedingLayerSetsHits *seedingLayers)
 
 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) {}

◆ 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.

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 }

References Exception.

◆ 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.

226 { return const_iterator(this, regions_.begin()); }

References regions_.

Referenced by cbegin().

◆ beginRegion()

RegionFiller IntermediateHitDoublets::beginRegion ( const TrackingRegion region)
inline

Definition at line 216 of file IntermediateHitDoublets.h.

216  {
217  regions_.emplace_back(region, layerPairs_.size());
218  return RegionFiller(this);
219  }

References layerPairs_, HLT_2018_cff::region, and regions_.

◆ cbegin()

const_iterator IntermediateHitDoublets::cbegin ( ) const
inline

Definition at line 227 of file IntermediateHitDoublets.h.

227 { return begin(); }

References begin().

◆ cend()

const_iterator IntermediateHitDoublets::cend ( ) const
inline

Definition at line 229 of file IntermediateHitDoublets.h.

229 { return end(); }

References end().

◆ dummyFiller()

static RegionFiller IntermediateHitDoublets::dummyFiller ( )
inlinestatic

Definition at line 195 of file IntermediateHitDoublets.h.

195 { return RegionFiller(); }

◆ empty()

bool IntermediateHitDoublets::empty ( void  ) const
inline

◆ end()

const_iterator IntermediateHitDoublets::end ( void  ) const
inline

Definition at line 228 of file IntermediateHitDoublets.h.

228 { return const_iterator(this, regions_.end()); }

References regions_.

Referenced by cend().

◆ layerPairsSize()

size_t IntermediateHitDoublets::layerPairsSize ( ) const
inline

◆ layerSetsBegin()

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

Definition at line 234 of file IntermediateHitDoublets.h.

234 { return layerPairs_.begin(); }

References layerPairs_.

◆ layerSetsEnd()

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

Definition at line 235 of file IntermediateHitDoublets.h.

235 { return layerPairs_.end(); }

References 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.

232 { return regions_.begin(); }

References regions_.

◆ regionsEnd()

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

Definition at line 233 of file IntermediateHitDoublets.h.

233 { return regions_.end(); }

References regions_.

◆ regionSize()

size_t IntermediateHitDoublets::regionSize ( ) const
inline

◆ reserve()

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

Definition at line 206 of file IntermediateHitDoublets.h.

206  {
207  regions_.reserve(nregions);
208  layerPairs_.reserve(nregions * nlayersets);
209  }

References layerPairs_, and regions_.

◆ seedingLayerHits()

const SeedingLayerSetsHits& IntermediateHitDoublets::seedingLayerHits ( ) const
inline

◆ shrink_to_fit()

void IntermediateHitDoublets::shrink_to_fit ( )
inline

Definition at line 211 of file IntermediateHitDoublets.h.

211  {
212  regions_.shrink_to_fit();
213  layerPairs_.shrink_to_fit();
214  }

References layerPairs_, and regions_.

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().

IntermediateHitDoublets::end
const_iterator end() const
Definition: IntermediateHitDoublets.h:228
IntermediateHitDoublets::const_iterator
ihd::const_iterator< RegionLayerSets, IntermediateHitDoublets > const_iterator
Iterator over regions.
Definition: IntermediateHitDoublets.h:169
IntermediateHitDoublets::begin
const_iterator begin() const
Definition: IntermediateHitDoublets.h:226
IntermediateHitDoublets::regions_
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
Definition: IntermediateHitDoublets.h:240
HLT_2018_cff.seedingLayers
seedingLayers
Definition: HLT_2018_cff.py:8534
IntermediateHitDoublets::layerPairs_
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
Definition: IntermediateHitDoublets.h:241
Exception
Definition: hltDiff.cc:246
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
IntermediateHitDoublets::seedingLayers_
const SeedingLayerSetsHits * seedingLayers_
Definition: IntermediateHitDoublets.h:238