Belle II Software  release-05-02-19
KLMChannelIndex Class Reference

KLM channel index. More...

#include <KLMChannelIndex.h>

Collaboration diagram for KLMChannelIndex:

Public Types

enum  IndexLevel {
  c_IndexLevelSubdetector = 1,
  c_IndexLevelSection = 2,
  c_IndexLevelSector = 3,
  c_IndexLevelLayer = 4,
  c_IndexLevelPlane = 5,
  c_IndexLevelStrip = 6
}
 Index level (loop over KLM elements at the specified level). More...
 

Public Member Functions

 KLMChannelIndex (enum IndexLevel indexLevel=c_IndexLevelStrip)
 Constructor. More...
 
 KLMChannelIndex (int subdetector, int section, int sector, int layer, int plane, int strip, enum IndexLevel indexLevel=c_IndexLevelStrip)
 Constructor. More...
 
 ~KLMChannelIndex ()
 Destructor.
 
void setIndexLevel (enum IndexLevel indexLevel)
 Set index level. More...
 
void useEKLMSegments (bool useSegments=true)
 Iterate over EKLM segments instead of strips. More...
 
void setKLMModule (uint16_t module)
 Set KLM module. More...
 
void setEKLMSegment (int segment)
 Set EKLM segment. More...
 
int getSubdetector () const
 Get subdetector.
 
int getSection () const
 Get section.
 
int getSector () const
 Get sector.
 
int getLayer () const
 Get layer.
 
int getPlane () const
 Get plane.
 
int getStrip () const
 Get strip.
 
uint16_t getKLMChannelNumber () const
 Get KLM channel number.
 
uint16_t getKLMPlaneNumber () const
 Get KLM plane number.
 
uint16_t getKLMModuleNumber () const
 Get KLM module number.
 
uint16_t getKLMSectorNumber () const
 Get KLM sector number.
 
int getEKLMSegmentNumber () const
 Get EKLM segment number.
 
KLMChannelIndex beginBKLM ()
 First channel for BKLM.
 
KLMChannelIndexendBKLM ()
 Last channel for BKLM.
 
KLMChannelIndex beginEKLM ()
 First channel for EKLM.
 
KLMChannelIndexendEKLM ()
 Last channel for EKLM.
 
KLMChannelIndex begin ()
 First channel.
 
KLMChannelIndexend ()
 Last channel.
 
KLMChannelIndexoperator++ ()
 Operator ++.
 
KLMChannelIndexincrement ()
 Increment (to use in Python).
 
bool operator== (const KLMChannelIndex &index)
 Operator ==.
 
bool operator!= (const KLMChannelIndex &index)
 Operator !=.
 
KLMChannelIndexoperator* ()
 Operator *.
 

Protected Member Functions

void setNStripsPlane ()
 Set number of strips in the current plane.
 
void increment (enum IndexLevel indexLevel)
 Increment the index.
 

Protected Attributes

enum IndexLevel m_IndexLevel
 Index level.
 
int m_Subdetector
 Subdetector.
 
int m_Section
 Section.
 
int m_Sector
 Sector.
 
int m_Layer
 Layer.
 
int m_Plane
 Plane.
 
int m_Strip
 Strip.
 
bool m_UseEKLMSegments = false
 Iterate over EKLM segments instead of strips.
 
int m_NStripsPlane
 Number of strips in current plane.
 
const KLMElementNumbersm_ElementNumbers
 KLM element numbers.
 
const EKLMElementNumbersm_eklmElementNumbers
 EKLM element numbers.
 

Detailed Description

KLM channel index.

Definition at line 33 of file KLMChannelIndex.h.

Member Enumeration Documentation

◆ IndexLevel

enum IndexLevel

Index level (loop over KLM elements at the specified level).

Enumerator
c_IndexLevelSubdetector 

Subdetector (BKLM or EKLM).

c_IndexLevelSection 

Section.

c_IndexLevelSector 

Sector.

c_IndexLevelLayer 

Layer.

c_IndexLevelPlane 

Plane.

c_IndexLevelStrip 

Strip.

Definition at line 40 of file KLMChannelIndex.h.

109  {

Constructor & Destructor Documentation

◆ KLMChannelIndex() [1/2]

KLMChannelIndex ( enum IndexLevel  indexLevel = c_IndexLevelStrip)
explicit

Constructor.

Parameters
[in]indexLevelIndex level.

Definition at line 20 of file KLMChannelIndex.cc.

20  :
21  m_IndexLevel(indexLevel),
23  m_Section(0),
24  m_Sector(1),
25  m_Layer(1),
26  m_Plane(0),
27  m_Strip(1),
30 {
32 }

◆ KLMChannelIndex() [2/2]

KLMChannelIndex ( int  subdetector,
int  section,
int  sector,
int  layer,
int  plane,
int  strip,
enum IndexLevel  indexLevel = c_IndexLevelStrip 
)

Constructor.

Parameters
[in]subdetectorSubdetector.
[in]sectionSection.
[in]sectorSector.
[in]layerLayer.
[in]planePlane.
[in]stripStrip.
[in]indexLevelIndex level.

Definition at line 34 of file KLMChannelIndex.cc.

Member Function Documentation

◆ setEKLMSegment()

void setEKLMSegment ( int  segment)

Set EKLM segment.

Parameters
[in]segmentSegment.

Definition at line 136 of file KLMChannelIndex.cc.

◆ setIndexLevel()

void setIndexLevel ( enum IndexLevel  indexLevel)

Set index level.

If the index level is increased, then the index is set to the first element of the higher-order level.

Definition at line 67 of file KLMChannelIndex.cc.

◆ setKLMModule()

void setKLMModule ( uint16_t  module)

Set KLM module.

Parameters
[in]moduleModule.

Definition at line 123 of file KLMChannelIndex.cc.

◆ useEKLMSegments()

void useEKLMSegments ( bool  useSegments = true)

Iterate over EKLM segments instead of strips.

Turning this on does not make sense for BKLM, in this case the iteration would still be performed over BKLM strips. Make sure that the iteration is performed for EKLM only, e. g. by using beginEKLM() and endEKLM().

Definition at line 117 of file KLMChannelIndex.cc.


The documentation for this class was generated from the following files:
Belle2::KLMChannelIndex::m_IndexLevel
enum IndexLevel m_IndexLevel
Index level.
Definition: KLMChannelIndex.h:260
Belle2::KLMElementNumbers::Instance
static const KLMElementNumbers & Instance()
Instantiation.
Definition: KLMElementNumbers.cc:31
Belle2::KLMChannelIndex::setNStripsPlane
void setNStripsPlane()
Set number of strips in the current plane.
Definition: KLMChannelIndex.cc:54
Belle2::EKLMElementNumbers::Instance
static const EKLMElementNumbers & Instance()
Instantiation.
Definition: EKLMElementNumbers.cc:20
Belle2::KLMChannelIndex::m_Strip
int m_Strip
Strip.
Definition: KLMChannelIndex.h:278
Belle2::KLMElementNumbers::c_BKLM
@ c_BKLM
BKLM.
Definition: KLMElementNumbers.h:47
Belle2::KLMChannelIndex::m_eklmElementNumbers
const EKLMElementNumbers * m_eklmElementNumbers
EKLM element numbers.
Definition: KLMChannelIndex.h:290
Belle2::KLMChannelIndex::m_Section
int m_Section
Section.
Definition: KLMChannelIndex.h:266
Belle2::KLMChannelIndex::m_Subdetector
int m_Subdetector
Subdetector.
Definition: KLMChannelIndex.h:263
Belle2::KLMChannelIndex::m_Sector
int m_Sector
Sector.
Definition: KLMChannelIndex.h:269
Belle2::KLMChannelIndex::m_Plane
int m_Plane
Plane.
Definition: KLMChannelIndex.h:275
Belle2::KLMChannelIndex::m_Layer
int m_Layer
Layer.
Definition: KLMChannelIndex.h:272
Belle2::KLMChannelIndex::m_ElementNumbers
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
Definition: KLMChannelIndex.h:287