 |
Belle II Software
release-05-02-19
|
12 #include <klm/dataobjects/KLMChannelIndex.h>
15 #include <klm/dataobjects/bklm/BKLMElementNumbers.h>
16 #include <klm/dataobjects/eklm/EKLMElementNumbers.h>
21 m_IndexLevel(indexLevel),
35 int subdetector,
int section,
int sector,
int layer,
int plane,
int strip,
37 m_IndexLevel(indexLevel),
38 m_Subdetector(subdetector),
224 switch (indexLevel) {
266 switch (indexLevel) {
326 if (
m_Strip != index.getStrip())
330 if (
m_Plane != index.getPlane())
334 if (
m_Layer != index.getLayer())
356 if (
m_Strip != index.getStrip())
360 if (
m_Plane != index.getPlane())
364 if (
m_Layer != index.getLayer())
KLMChannelIndex & endEKLM()
Last channel for EKLM.
uint16_t sectorNumberBKLM(int section, int sector) const
Get sector number for BKLM.
static constexpr int getMaximalSegmentNumber()
Get maximal segment number.
void segmentNumberToElementNumbers(int segmentGlobal, int *section, int *layer, int *sector, int *plane, int *segment) const
Get element numbers by segment global number.
KLMChannelIndex & operator*()
Operator *.
KLMChannelIndex & endBKLM()
Last channel for BKLM.
bool operator!=(const KLMChannelIndex &index)
Operator !=.
static constexpr int getMaximalSectionNumber()
Get maximal section number.
@ c_IndexLevelSection
Section.
bool operator==(const KLMChannelIndex &index)
Operator ==.
@ c_IndexLevelLayer
Layer.
enum IndexLevel m_IndexLevel
Index level.
KLMChannelIndex(enum IndexLevel indexLevel=c_IndexLevelStrip)
Constructor.
uint16_t planeNumberBKLM(int section, int sector, int layer, int plane) const
Get plane number for BKLM.
KLMChannelIndex beginEKLM()
First channel for EKLM.
uint16_t getKLMSectorNumber() const
Get KLM sector number.
void moduleNumberToElementNumbers(uint16_t module, int *subdetector, int *section, int *sector, int *layer) const
Get element numbers by module number.
KLMChannelIndex & increment()
Increment (to use in Python).
uint16_t channelNumberBKLM(int section, int sector, int layer, int plane, int strip) const
Get channel number for BKLM.
~KLMChannelIndex()
Destructor.
uint16_t getKLMChannelNumber() const
Get KLM channel number.
static constexpr int getMaximalSectorNumber()
Get maximal sector number (1-based).
KLMChannelIndex beginBKLM()
First channel for BKLM.
@ c_IndexLevelSector
Sector.
static constexpr int getMaximalSectorNumber()
Get maximal sector number.
IndexLevel
Index level (loop over KLM elements at the specified level).
@ c_IndexLevelPlane
Plane.
void setNStripsPlane()
Set number of strips in the current plane.
static constexpr int getMaximalStripNumber()
Get maximal strip number.
KLMChannelIndex & operator++()
Operator ++.
static constexpr int getMaximalLayerNumber()
Get maximal layer number (1-based).
@ c_IndexLevelSubdetector
Subdetector (BKLM or EKLM).
uint16_t sectorNumberEKLM(int section, int sector) const
Get sector number for EKLM.
Abstract base class for different kinds of events.
int segmentNumber(int section, int layer, int sector, int plane, int segment) const
Get segment number.
uint16_t moduleNumberEKLM(int section, int sector, int layer) const
Get module number for EKLM.
void useEKLMSegments(bool useSegments=true)
Iterate over EKLM segments instead of strips.
void setKLMModule(uint16_t module)
Set KLM module.
const EKLMElementNumbers * m_eklmElementNumbers
EKLM element numbers.
int getEKLMSegmentNumber() const
Get EKLM segment number.
static constexpr int getMaximalPlaneNumber()
Get maximal plane number.
uint16_t planeNumberEKLM(int section, int sector, int layer, int plane) const
Get channel number for EKLM.
uint16_t moduleNumberBKLM(int section, int sector, int layer) const
Get module number for BKLM.
uint16_t channelNumberEKLM(int section, int sector, int layer, int plane, int strip) const
Get channel number for EKLM.
static constexpr int getMaximalPlaneNumber()
Get maximal plane number (0-based).
bool m_UseEKLMSegments
Iterate over EKLM segments instead of strips.
static constexpr int getMaximalSectionNumber()
Get maximal section number (0-based).
uint16_t getKLMModuleNumber() const
Get KLM module number.
int m_NStripsPlane
Number of strips in current plane.
int m_Subdetector
Subdetector.
void setIndexLevel(enum IndexLevel indexLevel)
Set index level.
static int getNStrips(int section, int sector, int layer, int plane)
Get number of strips.
const KLMElementNumbers * m_ElementNumbers
KLM element numbers.
void setEKLMSegment(int segment)
Set EKLM segment.
int getMaximalDetectorLayerNumber(int section) const
Get maximal detector layer number.
uint16_t getKLMPlaneNumber() const
Get KLM plane number.
@ c_IndexLevelStrip
Strip.