Belle II Software  release-05-01-25
KLMElectronicsMapImporter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin, Giacomo De Pietro *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/KLMElementNumbers.h>
15 #include <klm/dbobjects/KLMElectronicsChannel.h>
16 
17 /* C++ headers. */
18 #include <map>
19 
20 namespace Belle2 {
29  class KLMElectronicsMapImporter {
30 
31  public:
32 
37 
42 
46  void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh);
47 
51  void clearElectronicsMap();
52 
61  void loadBKLMElectronicsMap(int version);
62 
76  void loadEKLMElectronicsMap(int version, bool mc);
77 
86  void setLane(
87  int subdetector, int section, int sector, int layer, int lane);
88 
98  void setLane(
99  int subdetector, int section, int sector, int layer, int plane, int lane);
100 
104  void importElectronicsMap();
105 
106  private:
107 
112  int getEKLMStripFirmwareBySoftware(int stripSoftware) const;
113 
124  int section, int sector, int layer, int plane, int segment,
125  int firmwareSegment);
126 
136  void addEKLMLane(
137  int section, int sector, int layer, int copper, int slot, int lane);
138 
141 
143  std::map<uint16_t, KLMElectronicsChannel> m_ChannelMap;
144 
146  int m_ExperimentLow = 0;
147 
149  int m_RunLow = 0;
150 
152  int m_ExperimentHigh = -1;
153 
155  int m_RunHigh = -1;
156 
157  };
158 
160 }
Belle2::KLMElectronicsMapImporter::clearElectronicsMap
void clearElectronicsMap()
Clear electronics map (to be able to import its multiple versions).
Definition: KLMElectronicsMapImporter.cc:44
Belle2::KLMElectronicsMapImporter::addEKLMLane
void addEKLMLane(int section, int sector, int layer, int copper, int slot, int lane)
Add EKLM electronics map lane.
Definition: KLMElectronicsMapImporter.cc:189
Belle2::KLMElectronicsMapImporter::getEKLMStripFirmwareBySoftware
int getEKLMStripFirmwareBySoftware(int stripSoftware) const
Get EKLM firmware strip number by software strip number.
Definition: KLMElectronicsMapImporter.cc:177
Belle2::KLMElectronicsMapImporter::m_RunHigh
int m_RunHigh
High run.
Definition: KLMElectronicsMapImporter.h:163
Belle2::KLMElectronicsMapImporter::KLMElectronicsMapImporter
KLMElectronicsMapImporter()
Constructor.
Definition: KLMElectronicsMapImporter.cc:26
Belle2::KLMElectronicsMapImporter::m_ElementNumbers
const KLMElementNumbers * m_ElementNumbers
Element numbers.
Definition: KLMElectronicsMapImporter.h:148
Belle2::KLMElectronicsMapImporter::setChannelsEKLMSegment
void setChannelsEKLMSegment(int section, int sector, int layer, int plane, int segment, int firmwareSegment)
Set channels for EKLM segment.
Definition: KLMElectronicsMapImporter.cc:206
Belle2::KLMElectronicsMapImporter::loadEKLMElectronicsMap
void loadEKLMElectronicsMap(int version, bool mc)
Load EKLM electronics map.
Definition: KLMElectronicsMapImporter.cc:224
Belle2::KLMElectronicsMapImporter::m_ChannelMap
std::map< uint16_t, KLMElectronicsChannel > m_ChannelMap
Data for creation of the electronics map.
Definition: KLMElectronicsMapImporter.h:151
Belle2::KLMElectronicsMapImporter::m_RunLow
int m_RunLow
Low run.
Definition: KLMElectronicsMapImporter.h:157
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::KLMElectronicsMapImporter::loadBKLMElectronicsMap
void loadBKLMElectronicsMap(int version)
Load BKLM electronics map.
Definition: KLMElectronicsMapImporter.cc:49
Belle2::KLMElectronicsMapImporter::importElectronicsMap
void importElectronicsMap()
Import electronics map.
Definition: KLMElectronicsMapImporter.cc:430
Belle2::KLMElectronicsMapImporter::m_ExperimentHigh
int m_ExperimentHigh
High experiment.
Definition: KLMElectronicsMapImporter.h:160
Belle2::KLMElectronicsMapImporter::~KLMElectronicsMapImporter
~KLMElectronicsMapImporter()
Destructor.
Definition: KLMElectronicsMapImporter.cc:31
Belle2::KLMElectronicsMapImporter::setLane
void setLane(int subdetector, int section, int sector, int layer, int lane)
Set non-default lane for all channels in a module.
Definition: KLMElectronicsMapImporter.cc:393
Belle2::KLMElementNumbers
KLM element numbers.
Definition: KLMElementNumbers.h:37
Belle2::KLMElectronicsMapImporter::setIOV
void setIOV(int experimentLow, int runLow, int experimentHigh, int runHigh)
Set interval of validity.
Definition: KLMElectronicsMapImporter.cc:35
Belle2::KLMElectronicsMapImporter::m_ExperimentLow
int m_ExperimentLow
Low experiment.
Definition: KLMElectronicsMapImporter.h:154