49 const int minimalVersion = 1;
50 const int maximalVersion = 2;
51 if (version < minimalVersion || version > maximalVersion) {
52 B2FATAL(
"Incorrect version (" << version <<
") of BKLM electronics map. "
53 "It must be from " << minimalVersion <<
" to " << maximalVersion);
61 bklmPlane != bklmPlanes.
endBKLM(); ++bklmPlane) {
62 int section = bklmPlane.getSection();
63 int sector = bklmPlane.getSector();
64 int layer = bklmPlane.getLayer();
65 int plane = bklmPlane.getPlane();
68 if (sector == 3 || sector == 4 || sector == 5 || sector == 6)
69 copperId = 1 + BKLM_ID;
70 if (sector == 1 || sector == 2 || sector == 7 || sector == 8)
71 copperId = 2 + BKLM_ID;
74 if (sector == 3 || sector == 4 || sector == 5 || sector == 6)
75 copperId = 3 + BKLM_ID;
76 if (sector == 1 || sector == 2 || sector == 7 || sector == 8)
77 copperId = 4 + BKLM_ID;
80 if (sector == 3 || sector == 4 || sector == 5 || sector == 6)
82 if (sector == 1 || sector == 2)
84 if (sector == 7 || sector == 8)
99 section, sector, layer, plane);
101 bool dontFlip =
false;
103 (sector == 7 || sector == 8 || sector == 1 || sector == 2))
106 (sector == 4 || sector == 5 || sector == 6 || sector == 7))
109 for (
int iStrip = 1; iStrip <= MaxiChannel; iStrip++) {
110 int channelId = iStrip;
113 channelId = MaxiChannel - iStrip + 1;
124 int channelCheck = channelId;
129 if (channelCheck > 0 && channelCheck < 9)
130 channelId = 9 - channelId;
131 if (channelCheck > 8 && channelCheck < 24)
132 channelId = 54 - channelId;
133 if (channelCheck > 23 && channelCheck < 39)
134 channelId = 54 - channelId;
136 if (channelCheck > 0 && channelCheck < 9)
137 channelId = 9 - channelId;
138 if (channelCheck > 8 && channelCheck < 24)
139 channelId = 39 - channelId;
140 if (channelCheck > 23 && channelCheck < 39)
141 channelId = 69 - channelId;
145 if (channelCheck > 0 && channelCheck < 10)
146 channelId = 10 - channelId;
147 if (channelCheck > 9 && channelCheck < 24)
148 channelId = 40 - channelId;
149 if (channelCheck > 23 && channelCheck < 39)
150 channelId = 69 - channelId;
153 if (channelCheck > 0 && channelCheck < 10)
154 channelId = 10 - channelId;
155 if (channelCheck > 9 && channelCheck < 25)
156 channelId = 40 - channelId;
157 if (channelCheck > 24 && channelCheck < 40)
158 channelId = 70 - channelId;
159 if (channelCheck > 39 && channelCheck < 55)
160 channelId = 100 - channelId;
166 section, sector, layer, plane, iStrip);
168 std::pair<KLMChannelNumber, KLMElectronicsChannel>(
392 int subdetector,
int section,
int sector,
int layer,
int lane)
394 std::map<KLMChannelNumber, KLMElectronicsChannel>::iterator it;
396 KLMChannelIndex klmChannel(subdetector, section, sector, layer, minimalPlane, 1);
401 for (; klmChannel != klmNextModule; ++klmChannel) {
405 B2FATAL(
"The KLM electronics map is not loaded or incomplete.");
406 it->second.setLane(lane);