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

Iterator over regions.

Definition at line 203 of file IntermediateHitTriplets.h.

Definition at line 25 of file IntermediateHitTriplets.h.

Definition at line 28 of file IntermediateHitTriplets.h.

Definition at line 29 of file IntermediateHitTriplets.h.

Constructor & Destructor Documentation

IntermediateHitTriplets::IntermediateHitTriplets ( )
inline

Definition at line 259 of file IntermediateHitTriplets.h.

Referenced by IntermediateHitTriplets().

259 : seedingLayers_(nullptr) {}
const SeedingLayerSetsHits * seedingLayers_
IntermediateHitTriplets::IntermediateHitTriplets ( const SeedingLayerSetsHits seedingLayers)
inlineexplicit

Definition at line 260 of file IntermediateHitTriplets.h.

References IntermediateHitTriplets(), operator=(), and ~IntermediateHitTriplets().

260 : seedingLayers_(seedingLayers) {}
const SeedingLayerSetsHits * seedingLayers_
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. The function exists only to make ROOT dictionary generation happy.";
6 }
IntermediateHitTriplets::IntermediateHitTriplets ( IntermediateHitTriplets &&  )
default
IntermediateHitTriplets::~IntermediateHitTriplets ( )
default

Referenced by IntermediateHitTriplets().

Member Function Documentation

const_iterator IntermediateHitTriplets::begin ( void  ) const
inline

Definition at line 288 of file IntermediateHitTriplets.h.

References regions_.

Referenced by IntermediateHitTriplets::LayerHitTriplets::cbegin(), IntermediateHitTriplets::RegionLayerSets::cbegin(), and cbegin().

288 { 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.
RegionFiller IntermediateHitTriplets::beginRegion ( const TrackingRegion region)
inline

Definition at line 278 of file IntermediateHitTriplets.h.

References layerTriplets_, and regions_.

278  {
279  regions_.emplace_back(region, layerTriplets_.size());
280  return RegionFiller(this);
281  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.
const_iterator IntermediateHitTriplets::cbegin ( ) const
inline

Definition at line 289 of file IntermediateHitTriplets.h.

References begin().

289 { return begin(); }
const_iterator begin() const
const_iterator IntermediateHitTriplets::cend ( ) const
inline

Definition at line 291 of file IntermediateHitTriplets.h.

References end().

291 { return end(); }
const_iterator end() const
static RegionFiller IntermediateHitTriplets::dummyFiller ( )
inlinestatic

Definition at line 255 of file IntermediateHitTriplets.h.

255 { return RegionFiller(); }
bool IntermediateHitTriplets::empty ( void  ) const
inline

Definition at line 284 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 290 of file IntermediateHitTriplets.h.

References regions_.

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

290 { 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.
std::vector<PLayerHitTriplets>::const_iterator IntermediateHitTriplets::layerSetsBegin ( ) const
inline

Definition at line 296 of file IntermediateHitTriplets.h.

References layerTriplets_.

296 { return layerTriplets_.begin(); }
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.
std::vector<PLayerHitTriplets>::const_iterator IntermediateHitTriplets::layerSetsEnd ( ) const
inline

Definition at line 297 of file IntermediateHitTriplets.h.

References layerTriplets_.

297 { return layerTriplets_.end(); }
std::vector< PLayerHitTriplets > layerTriplets_
Container of regions, each element has indices pointing to layerTriplets_.
IntermediateHitTriplets& IntermediateHitTriplets::operator= ( IntermediateHitTriplets &&  )
default

Referenced by IntermediateHitTriplets().

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

Definition at line 294 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 295 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 285 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 266 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

266  {
267  regions_.reserve(nregions);
268  layerTriplets_.reserve(nregions*nlayersets);
269  hitTriplets_.reserve(ntriplets);
270  }
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_.
const SeedingLayerSetsHits& IntermediateHitTriplets::seedingLayerHits ( ) const
inline

Definition at line 283 of file IntermediateHitTriplets.h.

References seedingLayers_.

283 { return *seedingLayers_; }
const SeedingLayerSetsHits * seedingLayers_
void IntermediateHitTriplets::shrink_to_fit ( )
inline

Definition at line 272 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

272  {
273  regions_.shrink_to_fit();
274  layerTriplets_.shrink_to_fit();
275  hitTriplets_.shrink_to_fit();
276  }
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_.
std::vector<OrderedHitTriplet>::const_iterator IntermediateHitTriplets::tripletsBegin ( ) const
inline

Definition at line 298 of file IntermediateHitTriplets.h.

References hitTriplets_.

298 { return hitTriplets_.begin(); }
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.
std::vector<OrderedHitTriplet>::const_iterator IntermediateHitTriplets::tripletsEnd ( ) const
inline

Definition at line 299 of file IntermediateHitTriplets.h.

References hitTriplets_.

299 { return hitTriplets_.end(); }
std::vector< OrderedHitTriplet > hitTriplets_
Container of layer triplets, each element has indices pointing to hitTriplets_.
size_t IntermediateHitTriplets::tripletsSize ( ) const
inline

Definition at line 286 of file IntermediateHitTriplets.h.

References hitTriplets_.

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

Member Data Documentation

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

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

Definition at line 306 of file IntermediateHitTriplets.h.

Referenced by reserve(), shrink_to_fit(), tripletsBegin(), tripletsEnd(), and tripletsSize().

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

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

Definition at line 305 of file IntermediateHitTriplets.h.

Referenced by beginRegion(), layerSetsBegin(), layerSetsEnd(), reserve(), and shrink_to_fit().

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

Pointer to SeedingLayerSetsHits (owned elsewhere)

Definition at line 304 of file IntermediateHitTriplets.h.

Referenced by begin(), beginRegion(), empty(), end(), regionsBegin(), regionsEnd(), regionSize(), reserve(), and shrink_to_fit().

const SeedingLayerSetsHits* IntermediateHitTriplets::seedingLayers_
private

Definition at line 302 of file IntermediateHitTriplets.h.

Referenced by seedingLayerHits().