CMS 3D CMS Logo

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

#include <IntermediateHitTriplets.h>

Classes

class  LayerHitTriplets
 
class  PLayerHitTriplets
 
class  RegionFiller
 Helper class enforcing correct way of filling the doublets of a region. More...
 
class  RegionLayerSets
 

Public Types

using const_iterator = ihd::const_iterator< RegionLayerSets, IntermediateHitTriplets >
 Iterator over regions. More...
 
using LayerPair = std::tuple< SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex >
 
using LayerTriplet = std::tuple< SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex, SeedingLayerSetsHits::LayerIndex >
 
using RegionIndex = ihd::RegionIndex
 

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
 
 IntermediateHitTriplets ()
 
 IntermediateHitTriplets (const SeedingLayerSetsHits *seedingLayers)
 
 IntermediateHitTriplets (const IntermediateHitTriplets &rh)
 
 IntermediateHitTriplets (IntermediateHitTriplets &&)=default
 
std::vector< PLayerHitTriplets >::const_iterator layerSetsBegin () const
 
std::vector< PLayerHitTriplets >::const_iterator layerSetsEnd () const
 
IntermediateHitTripletsoperator= (IntermediateHitTriplets &&)=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, size_t ntriplets)
 
const SeedingLayerSetsHitsseedingLayerHits () const
 
void shrink_to_fit ()
 
std::vector< OrderedHitTriplet >::const_iterator tripletsBegin () const
 
std::vector< OrderedHitTriplet >::const_iterator tripletsEnd () const
 
size_t tripletsSize () const
 
 ~IntermediateHitTriplets ()=default
 

Static Public Member Functions

static RegionFiller dummyFiller ()
 

Private Attributes

std::vector< OrderedHitTriplethitTriplets_
 Container of layer triplets, each element has indices pointing to hitTriplets_. More...
 
std::vector< PLayerHitTripletslayerTriplets_
 Container of regions, each element has indices pointing to layerTriplets_. More...
 
std::vector< RegionIndexregions_
 Pointer to SeedingLayerSetsHits (owned elsewhere) More...
 
const SeedingLayerSetsHitsseedingLayers_
 

Detailed Description

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

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

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 22 of file IntermediateHitTriplets.h.

Member Typedef Documentation

◆ const_iterator

Iterator over regions.

Definition at line 186 of file IntermediateHitTriplets.h.

◆ LayerPair

Definition at line 24 of file IntermediateHitTriplets.h.

◆ LayerTriplet

Definition at line 26 of file IntermediateHitTriplets.h.

◆ RegionIndex

Definition at line 27 of file IntermediateHitTriplets.h.

Constructor & Destructor Documentation

◆ IntermediateHitTriplets() [1/4]

IntermediateHitTriplets::IntermediateHitTriplets ( )
inline

Definition at line 245 of file IntermediateHitTriplets.h.

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

◆ IntermediateHitTriplets() [2/4]

IntermediateHitTriplets::IntermediateHitTriplets ( const SeedingLayerSetsHits seedingLayers)
inlineexplicit

Definition at line 246 of file IntermediateHitTriplets.h.

const SeedingLayerSetsHits * seedingLayers_

◆ IntermediateHitTriplets() [3/4]

IntermediateHitTriplets::IntermediateHitTriplets ( const IntermediateHitTriplets rh)

Definition at line 4 of file IntermediateHitTriplets.cc.

References Exception.

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

◆ IntermediateHitTriplets() [4/4]

IntermediateHitTriplets::IntermediateHitTriplets ( IntermediateHitTriplets &&  )
default

◆ ~IntermediateHitTriplets()

IntermediateHitTriplets::~IntermediateHitTriplets ( )
default

Member Function Documentation

◆ begin()

const_iterator IntermediateHitTriplets::begin ( void  ) const
inline

Definition at line 274 of file IntermediateHitTriplets.h.

References regions_.

Referenced by cbegin().

274 { return const_iterator(this, regions_.begin()); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
ihd::const_iterator< RegionLayerSets, IntermediateHitTriplets > const_iterator
Iterator over regions.

◆ beginRegion()

RegionFiller IntermediateHitTriplets::beginRegion ( const TrackingRegion region)
inline

Definition at line 264 of file IntermediateHitTriplets.h.

References layerTriplets_, nano_mu_digi_cff::region, and regions_.

264  {
265  regions_.emplace_back(region, layerTriplets_.size());
266  return RegionFiller(this);
267  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.

◆ cbegin()

const_iterator IntermediateHitTriplets::cbegin ( ) const
inline

Definition at line 275 of file IntermediateHitTriplets.h.

References begin().

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

◆ cend()

const_iterator IntermediateHitTriplets::cend ( ) const
inline

Definition at line 277 of file IntermediateHitTriplets.h.

References end().

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

◆ dummyFiller()

static RegionFiller IntermediateHitTriplets::dummyFiller ( )
inlinestatic

Definition at line 241 of file IntermediateHitTriplets.h.

241 { return RegionFiller(); }

◆ empty()

bool IntermediateHitTriplets::empty ( void  ) const
inline

Definition at line 270 of file IntermediateHitTriplets.h.

References regions_.

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

◆ end()

const_iterator IntermediateHitTriplets::end ( void  ) const
inline

Definition at line 276 of file IntermediateHitTriplets.h.

References regions_.

Referenced by cend(), and IntermediateHitTriplets::PLayerHitTriplets::setTripletsEnd().

276 { return const_iterator(this, regions_.end()); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
ihd::const_iterator< RegionLayerSets, IntermediateHitTriplets > const_iterator
Iterator over regions.

◆ layerSetsBegin()

std::vector<PLayerHitTriplets>::const_iterator IntermediateHitTriplets::layerSetsBegin ( ) const
inline

Definition at line 282 of file IntermediateHitTriplets.h.

References layerTriplets_.

282 { return layerTriplets_.begin(); }
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.

◆ layerSetsEnd()

std::vector<PLayerHitTriplets>::const_iterator IntermediateHitTriplets::layerSetsEnd ( ) const
inline

Definition at line 283 of file IntermediateHitTriplets.h.

References layerTriplets_.

283 { return layerTriplets_.end(); }
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.

◆ operator=()

IntermediateHitTriplets& IntermediateHitTriplets::operator= ( IntermediateHitTriplets &&  )
default

◆ regionsBegin()

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

Definition at line 280 of file IntermediateHitTriplets.h.

References regions_.

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

◆ regionsEnd()

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

Definition at line 281 of file IntermediateHitTriplets.h.

References regions_.

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

◆ regionSize()

size_t IntermediateHitTriplets::regionSize ( ) const
inline

Definition at line 271 of file IntermediateHitTriplets.h.

References regions_.

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

◆ reserve()

void IntermediateHitTriplets::reserve ( size_t  nregions,
size_t  nlayersets,
size_t  ntriplets 
)
inline

Definition at line 252 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

252  {
253  regions_.reserve(nregions);
254  layerTriplets_.reserve(nregions * nlayersets);
255  hitTriplets_.reserve(ntriplets);
256  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.

◆ seedingLayerHits()

const SeedingLayerSetsHits& IntermediateHitTriplets::seedingLayerHits ( ) const
inline

Definition at line 269 of file IntermediateHitTriplets.h.

References seedingLayers_.

269 { return *seedingLayers_; }
const SeedingLayerSetsHits * seedingLayers_

◆ shrink_to_fit()

void IntermediateHitTriplets::shrink_to_fit ( )
inline

Definition at line 258 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

258  {
259  regions_.shrink_to_fit();
260  layerTriplets_.shrink_to_fit();
261  hitTriplets_.shrink_to_fit();
262  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.

◆ tripletsBegin()

std::vector<OrderedHitTriplet>::const_iterator IntermediateHitTriplets::tripletsBegin ( ) const
inline

Definition at line 284 of file IntermediateHitTriplets.h.

References hitTriplets_.

Referenced by IntermediateHitTriplets::LayerHitTriplets::begin(), and IntermediateHitTriplets::LayerHitTriplets::end().

284 { return hitTriplets_.begin(); }
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.

◆ tripletsEnd()

std::vector<OrderedHitTriplet>::const_iterator IntermediateHitTriplets::tripletsEnd ( ) const
inline

Definition at line 285 of file IntermediateHitTriplets.h.

References hitTriplets_.

285 { return hitTriplets_.end(); }
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.

◆ tripletsSize()

size_t IntermediateHitTriplets::tripletsSize ( ) const
inline

Definition at line 272 of file IntermediateHitTriplets.h.

References hitTriplets_.

272 { return hitTriplets_.size(); }
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.

Member Data Documentation

◆ hitTriplets_

std::vector<OrderedHitTriplet> IntermediateHitTriplets::hitTriplets_
private

Container of layer triplets, each element has indices pointing to hitTriplets_.

Definition at line 293 of file IntermediateHitTriplets.h.

Referenced by IntermediateHitTriplets::RegionFiller::addTriplets(), reserve(), shrink_to_fit(), tripletsBegin(), tripletsEnd(), and tripletsSize().

◆ layerTriplets_

std::vector<PLayerHitTriplets> IntermediateHitTriplets::layerTriplets_
private

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

Definition at line 292 of file IntermediateHitTriplets.h.

Referenced by IntermediateHitTriplets::RegionFiller::addTriplets(), beginRegion(), layerSetsBegin(), layerSetsEnd(), reserve(), and shrink_to_fit().

◆ regions_

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

◆ seedingLayers_

const SeedingLayerSetsHits* IntermediateHitTriplets::seedingLayers_
private

Definition at line 288 of file IntermediateHitTriplets.h.

Referenced by seedingLayerHits().