CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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)
 
size_t layerPairsSize () const
 
std::vector
< LayerPairHitDoublets >
::const_iterator 
layerSetsBegin () const
 
std::vector
< LayerPairHitDoublets >
::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)
 
const SeedingLayerSetsHitsseedingLayerHits () const
 
void shrink_to_fit ()
 
void swap (IntermediateHitDoublets &rh)
 
 ~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 125 of file IntermediateHitDoublets.h.

Member Typedef Documentation

Iterator over regions.

Definition at line 165 of file IntermediateHitDoublets.h.

Definition at line 127 of file IntermediateHitDoublets.h.

Definition at line 128 of file IntermediateHitDoublets.h.

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

Definition at line 160 of file IntermediateHitDoublets.h.

Constructor & Destructor Documentation

IntermediateHitDoublets::IntermediateHitDoublets ( )
inline

Definition at line 194 of file IntermediateHitDoublets.h.

194 : seedingLayers_(nullptr) {}
const SeedingLayerSetsHits * seedingLayers_
IntermediateHitDoublets::IntermediateHitDoublets ( const SeedingLayerSetsHits seedingLayers)
inlineexplicit

Definition at line 195 of file IntermediateHitDoublets.h.

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

Member Function Documentation

const_iterator IntermediateHitDoublets::begin ( void  ) const
inline

Definition at line 225 of file IntermediateHitDoublets.h.

References regions_.

Referenced by cbegin().

225 { 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)
RegionFiller IntermediateHitDoublets::beginRegion ( const TrackingRegion region)
inline

Definition at line 215 of file IntermediateHitDoublets.h.

References layerPairs_, and regions_.

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

Definition at line 226 of file IntermediateHitDoublets.h.

References begin().

226 { return begin(); }
const_iterator begin() const
const_iterator IntermediateHitDoublets::cend ( ) const
inline

Definition at line 228 of file IntermediateHitDoublets.h.

References end().

228 { return end(); }
const_iterator end() const
static RegionFiller IntermediateHitDoublets::dummyFiller ( )
inlinestatic

Definition at line 190 of file IntermediateHitDoublets.h.

190 { return RegionFiller(); }
bool IntermediateHitDoublets::empty ( void  ) const
inline

Definition at line 221 of file IntermediateHitDoublets.h.

References regions_.

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

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

Definition at line 227 of file IntermediateHitDoublets.h.

References regions_.

Referenced by cend().

227 { 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)
size_t IntermediateHitDoublets::layerPairsSize ( ) const
inline

Definition at line 223 of file IntermediateHitDoublets.h.

References layerPairs_.

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

223 { return layerPairs_.size(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsBegin ( ) const
inline

Definition at line 233 of file IntermediateHitDoublets.h.

References layerPairs_.

233 { return layerPairs_.begin(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
std::vector<LayerPairHitDoublets>::const_iterator IntermediateHitDoublets::layerSetsEnd ( ) const
inline

Definition at line 234 of file IntermediateHitDoublets.h.

References layerPairs_.

234 { return layerPairs_.end(); }
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
std::vector<RegionIndex>::const_iterator IntermediateHitDoublets::regionsBegin ( ) const
inline

Definition at line 231 of file IntermediateHitDoublets.h.

References regions_.

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

Definition at line 232 of file IntermediateHitDoublets.h.

References regions_.

232 { return regions_.end(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
size_t IntermediateHitDoublets::regionSize ( ) 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_.size(); }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
void IntermediateHitDoublets::reserve ( size_t  nregions,
size_t  nlayersets 
)
inline

Definition at line 205 of file IntermediateHitDoublets.h.

References layerPairs_, and regions_.

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

Definition at line 210 of file IntermediateHitDoublets.h.

References layerPairs_, and regions_.

210  {
211  regions_.shrink_to_fit();
212  layerPairs_.shrink_to_fit();
213  }
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
void IntermediateHitDoublets::swap ( IntermediateHitDoublets rh)
inline

Definition at line 199 of file IntermediateHitDoublets.h.

References layerPairs_, regions_, seedingLayers_, and std::swap().

199  {
203  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< RegionIndex > regions_
Pointer to SeedingLayerSetsHits (owned elsewhere)
std::vector< LayerPairHitDoublets > layerPairs_
Container of regions, each element has indices pointing to layerPairs_.
const SeedingLayerSetsHits * seedingLayers_

Member Data Documentation

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

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

Definition at line 240 of file IntermediateHitDoublets.h.

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

std::vector<RegionIndex> IntermediateHitDoublets::regions_
private
const SeedingLayerSetsHits* IntermediateHitDoublets::seedingLayers_
private

Definition at line 237 of file IntermediateHitDoublets.h.

Referenced by seedingLayerHits(), and swap().