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)
 
std::vector< PLayerHitTriplets >::const_iterator layerSetsBegin () const
 
std::vector< PLayerHitTriplets >::const_iterator layerSetsEnd () const
 
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 ()
 
void swap (IntermediateHitTriplets &rh)
 
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(), 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 ( )
default

Referenced by IntermediateHitTriplets().

Member Function Documentation

const_iterator IntermediateHitTriplets::begin ( void  ) const
inline

Definition at line 293 of file IntermediateHitTriplets.h.

References regions_.

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

293 { 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 283 of file IntermediateHitTriplets.h.

References layerTriplets_, and regions_.

283  {
284  regions_.emplace_back(region, layerTriplets_.size());
285  return RegionFiller(this);
286  }
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 294 of file IntermediateHitTriplets.h.

References begin().

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

Definition at line 296 of file IntermediateHitTriplets.h.

References end().

296 { 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 289 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 295 of file IntermediateHitTriplets.h.

References regions_.

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

295 { 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 301 of file IntermediateHitTriplets.h.

References layerTriplets_.

301 { 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 302 of file IntermediateHitTriplets.h.

References layerTriplets_.

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

Definition at line 299 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 300 of file IntermediateHitTriplets.h.

References regions_.

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

Definition at line 290 of file IntermediateHitTriplets.h.

References regions_.

290 { 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 271 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

271  {
272  regions_.reserve(nregions);
273  layerTriplets_.reserve(nregions*nlayersets);
274  hitTriplets_.reserve(ntriplets);
275  }
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 288 of file IntermediateHitTriplets.h.

References seedingLayers_.

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

Definition at line 277 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, and regions_.

277  {
278  regions_.shrink_to_fit();
279  layerTriplets_.shrink_to_fit();
280  hitTriplets_.shrink_to_fit();
281  }
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_.
void IntermediateHitTriplets::swap ( IntermediateHitTriplets rh)
inline

Definition at line 264 of file IntermediateHitTriplets.h.

References hitTriplets_, layerTriplets_, regions_, seedingLayers_, and std::swap().

264  {
269  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
const SeedingLayerSetsHits * seedingLayers_
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 303 of file IntermediateHitTriplets.h.

References hitTriplets_.

303 { 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 304 of file IntermediateHitTriplets.h.

References hitTriplets_.

304 { 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 291 of file IntermediateHitTriplets.h.

References hitTriplets_.

291 { 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 311 of file IntermediateHitTriplets.h.

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

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

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

Definition at line 310 of file IntermediateHitTriplets.h.

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

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

Pointer to SeedingLayerSetsHits (owned elsewhere)

Definition at line 309 of file IntermediateHitTriplets.h.

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

const SeedingLayerSetsHits* IntermediateHitTriplets::seedingLayers_
private

Definition at line 307 of file IntermediateHitTriplets.h.

Referenced by seedingLayerHits(), and swap().