CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Classes | Public Types | Public Member Functions | Private Attributes
SeedingLayerSetsLooper Class Reference

#include <SeedingLayerSetsLooper.h>

Classes

class  LayerSet
 
class  LayerSetRange
 

Public Types

using LayerSetIndex = unsigned short
 

Public Member Functions

template<typename T >
LayerSetRange< TmakeRange (const T &container) const
 
 SeedingLayerSetsLooper ()=default
 
 SeedingLayerSetsLooper (unsigned short nlayers, const std::vector< LayerSetIndex > *layerSetIndices)
 

Private Attributes

const std::vector< LayerSetIndex > * layerSetIndices_ = nullptr
 
unsigned short nlayers_ = 0
 Number of layers in a SeedingLayerSet. More...
 

Detailed Description

Class to loop over arbitrary containers according to seeding layer sets indices

Definition at line 10 of file SeedingLayerSetsLooper.h.

Member Typedef Documentation

◆ LayerSetIndex

using SeedingLayerSetsLooper::LayerSetIndex = unsigned short

Definition at line 12 of file SeedingLayerSetsLooper.h.

Constructor & Destructor Documentation

◆ SeedingLayerSetsLooper() [1/2]

SeedingLayerSetsLooper::SeedingLayerSetsLooper ( )
default

◆ SeedingLayerSetsLooper() [2/2]

SeedingLayerSetsLooper::SeedingLayerSetsLooper ( unsigned short  nlayers,
const std::vector< LayerSetIndex > *  layerSetIndices 
)
inline

Constructor.

Parameters
nlayersNumber of layers in each SeedingLayerSet
layerSetIndicesPointer to a vector holding the indices of layer sets (pointer to vector is stored)

Definition at line 88 of file SeedingLayerSetsLooper.h.

89  : nlayers_(nlayers), layerSetIndices_(layerSetIndices) {}
const std::vector< LayerSetIndex > * layerSetIndices_
unsigned short nlayers_
Number of layers in a SeedingLayerSet.

Member Function Documentation

◆ makeRange()

template<typename T >
LayerSetRange<T> SeedingLayerSetsLooper::makeRange ( const T container) const
inline

Definition at line 92 of file SeedingLayerSetsLooper.h.

92  {
93  return LayerSetRange<T>(&container, this);
94  }

Member Data Documentation

◆ layerSetIndices_

const std::vector<LayerSetIndex>* SeedingLayerSetsLooper::layerSetIndices_ = nullptr
private

Stores SeedingLayerSets as nlayers_ consecutive layer indices. Layer indices point to layerHitRanges_, layerNames_, and layerDets_. Hence layerSetIndices.size() == nlayers_*"number of layer sets"

Definition at line 105 of file SeedingLayerSetsLooper.h.

Referenced by SeedingLayerSetsLooper::LayerSetRange< T >::begin(), and SeedingLayerSetsLooper::LayerSetRange< T >::end().

◆ nlayers_

unsigned short SeedingLayerSetsLooper::nlayers_ = 0
private