Belle II Software  release-05-02-19
KLMElementArrayIndex.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/KLMChannelIndex.h>
15 
16 /* C++ headers. */
17 #include <map>
18 
19 namespace Belle2 {
28  class KLMElementArrayIndex {
29 
30  public:
31 
35  explicit KLMElementArrayIndex(enum KLMChannelIndex::IndexLevel indexLevel);
36 
40  virtual ~KLMElementArrayIndex();
41 
46  uint16_t getIndex(uint16_t number) const;
47 
52  uint16_t getNumber(uint16_t index) const;
53 
57  uint16_t getNElements() const
58  {
59  return m_NElements;
60  }
61 
62  private:
63 
65  std::map<uint16_t, uint16_t> m_MapNumberIndex;
66 
68  std::map<uint16_t, uint16_t> m_MapIndexNumber;
69 
71  uint16_t m_NElements;
72 
73  };
74 
76 }
Belle2::KLMElementArrayIndex::KLMElementArrayIndex
KLMElementArrayIndex(enum KLMChannelIndex::IndexLevel indexLevel)
Constructor.
Definition: KLMElementArrayIndex.cc:19
Belle2::KLMElementArrayIndex::getNumber
uint16_t getNumber(uint16_t index) const
Get element number.
Definition: KLMElementArrayIndex.cc:63
Belle2::KLMElementArrayIndex::m_NElements
uint16_t m_NElements
Number of elements.
Definition: KLMElementArrayIndex.h:79
Belle2::KLMChannelIndex::IndexLevel
IndexLevel
Index level (loop over KLM elements at the specified level).
Definition: KLMChannelIndex.h:40
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KLMElementArrayIndex::m_MapIndexNumber
std::map< uint16_t, uint16_t > m_MapIndexNumber
Map KLM element index - KLM element number.
Definition: KLMElementArrayIndex.h:76
Belle2::KLMElementArrayIndex::getNElements
uint16_t getNElements() const
Get number of elements.
Definition: KLMElementArrayIndex.h:65
Belle2::KLMElementArrayIndex::~KLMElementArrayIndex
virtual ~KLMElementArrayIndex()
Destructor.
Definition: KLMElementArrayIndex.cc:50
Belle2::KLMElementArrayIndex::getIndex
uint16_t getIndex(uint16_t number) const
Get element index.
Definition: KLMElementArrayIndex.cc:54
Belle2::KLMElementArrayIndex::m_MapNumberIndex
std::map< uint16_t, uint16_t > m_MapNumberIndex
Map KLM element number - KLM element index.
Definition: KLMElementArrayIndex.h:73