Belle II Software development
TrgBitData.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include <trg/gdl/TrgBit.h>
9
10using namespace Belle2;
11
12const std::string TrgBit::_ftdlVersion[2] = {
13 "ftdlv4_5.alg.dat", // map 0
14 "ftdlv4_3.alg.dat" // map 1
15};
16
17const char*
18TrgBit::_inputBitNames[N_BITS_RESERVED] = {
19 "t3_0", "t3_1", "t3_2", "t2_0", "t2_1", "t2_2", "cdc_open90", "cdc_active", "cdc_b2b3", "cdc_b2b5",
20 "cdc_b2b7", "cdc_b2b9", "ehigh", "elow", "elum", "ecl_bha", "bha_0", "bha_1", "bha_2", "bha_3",
21 "bha_4", "bha_5", "bha_6", "bha_7", "bha_8", "bha_9", "bha_10", "bha_11", "bha_12", "bha_13",
22 "c_0", "c_1", "c_2", "c_3", "ebg_0", "ebg_1", "ebg_2", "ecl_active", "ecl_tim_fwd", "ecl_tim_brl",
23 "ecl_tim_bwd", "ecl_phys", "top_0", "top_1", "top_2", "top_bb", "top_active", "klm_hit", "klm_0", "klm_1",
24 "klm_2", "klm_3", "klmb2b_0", "klmb2b_1", "klmb2b_2", "revo", "her_kick", "ler_kick", "bha_delay", "pseud_rand",
25 "plsin", "poiin", "periodin", "veto", "n1_0", "n1_1", "n1_2", "n2_0", "n2_1", "n2_2",
26 "cdcecl_0", "cdcecl_1", "cdcecl_2", "cdcklm_0", "cdcklm_1", "cdcklm_2", "nim0", "nim1", "nim2", "nim3",
27 "t3_3", "t2_3", "n1_3", "n2_3", "cdcecl_3", "cdcklm_3", "u2_0", "u2_1", "u2_2", "ecl_oflo",
28 "ecl_3dbha", "lml_0", "lml_1", "lml_2", "lml_3", "lml_4", "lml_5", "lml_6", "lml_7", "lml_8", // 100
29 "lml_9", "lml_10", "samhem", "opohem", "d_b2b3", "d_b2b5", "d_b2b7", "d_b2b9", "p_b2b3", "p_b2b5",
30 "p_b2b7", "p_b2b9", "track", "trkflt", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
31 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
32 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
33 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
34 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
35 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
36 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
37 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
38 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
39};
40
41const unsigned
42TrgBit::_inputMap[N_INPUT_ARRAY][N_BITS_RESERVED] = {
43
44 /*
45 t3_0, t3_1, t3_2, t2_0, t2_1, t2_2, cdc_open90, cdc_active, cdc_b2b3, cdc_b2b5,
46 cdc_b2b7, cdc_b2b9, ehigh, elow, elum, ecl_bha, bha_0, bha_1, bha_2, bha_3,
47 bha_4, bha_5, bha_6, bha_7, bha_8, bha_9, bha_10, bha_11, bha_12, bha_13,
48 c_0, c_1, c_2, c_3, ebg_0, ebg_1, ebg_2, eactive, ecl_tim_fwd, ecl_tim_brl,
49 // 40 ecl_tim_bwd, ecl_phys, top_0, top_1, top_2, top_bb, top_active, klm_hit, klm_0, klm_1,
50 // 50 klm_2, klm_3, klmb2b_0, klmb2b_1, klmb2b_2, revo, her_kick, ler_kick, bha_delay, pseud_rand,
51 // 60 plsin, poiin, periodin, veto, n1_0, n1_1, n1_2, n2_0, n2_1, n2_2,
52 // 70 cdcecl_0, cdcecl_1, cdcecl_2, cdcklm_0, cdcklm_1, cdcklm_2, nim0, nim1, nim2, nim3, --80
53 // 80 t3_3, t2_3, n1_3, n2_3, cdcecl_3, cdcklm_3, u2_0, u2_1, u2_2, ecl_oflo,
54 // 90 ecl_3dbha, lml_0, lml_1, lml_2, lml_3, lml_4, lml_5, lml_6, lml_7, lml_8,
55 //100 lml_9, lml_10, samhem, opohem, d_b2b3, d_b2b5, d_b2b7, d_b2b9, p_b2b3, p_b2b5,
56 //110 p_b2b7, p_b2b9, track, trkflt
57 */
58
59 // "0"
60 // 80 bits. gdl0065c-gdl0065j.
61 // e3r100 <= run < e3r1315
62 {
63 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
64 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
65 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
66 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
67 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
68 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
69 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
71 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
72 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
73 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
74 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
75 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
76 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
77 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
78 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
79 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
80 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
81 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
82 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
83 },
84
85 // "1"
86 // 87 bits. gdl0065k-gdl0066e.
87 // e3r1315 <= run < e3r1866
88 {
89 0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
90 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
91 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
92 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
93 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
94 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
95 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
96 72, 73, 74, 76, 77, 78, 80, 81, 82, 83,
97 3, 7, 999, 999, 75, 79, 84, 85, 86, 999,
98 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
99 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
100 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
101 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
102 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
103 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
104 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
105 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
106 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
107 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
108 },
109
110 // "2"
111 // 89 bits. gdl0066f-gdl0067g.
112 // e3r1866 <= run < 5314
113 {
114 0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
115 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
116 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
117 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
118 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
119 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
120 62, 63, 64, 65, 66, 67, 68, 70, 71, 72,
121 74, 75, 76, 78, 79, 80, 82, 83, 84, 85,
122 3, 7, 69, 73, 77, 81, 86, 87, 88, 999,
123 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
124 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
125 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
126 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
127 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
128 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
129 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
130 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
131 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
132 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
133 },
134
135 // "3"
136 // 109 bits. gdl0068a.
137 // e3r5314 <= run < 5594
138 {
139 0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
140 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
141 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
142 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
143 42, 43, 57, 58, 59, 60, 61, 62, 63, 64,
144 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
145 75, 76, 77, 78, 81, 82, 83, 85, 86, 87,
146 89, 90, 91, 93, 94, 95, 105, 106, 107, 108,
147 3, 7, 84, 88, 92, 96, 999, 999, 999, 44,
148 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
149 55, 56, 79, 80, 97, 98, 99, 100, 101, 102,
150 103, 104, 999, 999, 999, 999, 999, 999, 999, 999,
151 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
152 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
153 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
154 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
155 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
156 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
157 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
158 },
159
160 // "4"
161 // 111 bits. track, trkflt added. gdl0068b
162 // e3r5594 <= run
163 {
164 0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
165 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
166 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
167 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
168 42, 43, 57, 58, 59, 60, 61, 62, 63, 64,
169 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
170 75, 76, 77, 78, 81, 82, 83, 85, 86, 87,
171 89, 90, 91, 93, 94, 95, 107, 108, 109, 110,
172 3, 7, 84, 88, 92, 96, 999, 999, 999, 44,
173 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
174 55, 56, 79, 80, 97, 98, 99, 100, 101, 102,
175 103, 104, 105, 106, 999, 999, 999, 999, 999, 999,
176 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
177 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
178 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
179 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
180 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
181 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
182 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
183 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
184 },
185
186};
187
188const char*
189TrgBit::_outputBitNames[N_BITS_RESERVED] = {
190 "zzz", "zzzo", "fff", "fffo", "zz", "zzo", "ff", "ffo", "hie", "lowe",
191 "lume", "c2", "c3", "c4", "c5", "bha", "bha_trk", "bha_brl", "bha_ecp", "g_high",
192 "g_c1", "gg", "mu_pair", "mu_b2b", "revo", "rand", "bg", "ecltiming", "nim0", "nima03",
193 "nimo03", "period", "eclnima03", "eclnimo03", "pls", "poi", "klmhit", "f", "fe", "ffe",
194 "fc", "ffc", "cdctiming", "cdcbb", "nim1c", "c1n0", "c1n1", "c1n2", "c1n3", "c1n4",
195 "c2n1", "c2n2", "c2n3", "c2n4", "cdcecl1", "cdcecl2", "cdcecl3", "cdcecl4", "cdcklm1", "cdcklm2",
196 "cdcklm3", "cdcklm4", "ffb", "uuu", "uuuo", "uub", "uuo", "c1hie", "c1lume", "n1hie",
197 "n1lume", "c3hie", "c3lume", "n3hie", "n3lume", "eed", "fed", "fp", "bha3d", "shem",
198 "ohem", "lml0", "lml1", "lml2", "lml3", "lml4", "lml5", "lml6", "lml7", "lml8",
199 "lml9", "lml10", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", // 100
200 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
201 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
202 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
203 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
204 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
205 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
206 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
207 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
208 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
209 "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
210};
211
212const unsigned
213TrgBit::_outputMap[N_OUTPUT_ARRAY][N_BITS_RESERVED] = {
214
215 // 00 zzz, zzzo, fff, fffo, zz, zzo, ff, ffo, hie, lowe,
216 // 10 lume, c2, c3, c4, c5, bha, bha_trk, bha_brl, bha_ecp, g_high,
217 // 20 g_c1, gg, mu_pair, mu_b2b, revo, rand, bg, ecltiming, nim0, nima03,
218 // 30 nimo03, period, eclnima03, eclnimo03, pls, poi, klmhit, f, fe, ffe,
219 // 40 fc, ffc, cdctiming, cdcbb, nim1c, c1n0, c1n1, c1n2, c1n3, c1n4,
220 // 50 c2n1, c2n2, c2n3, c2n4, cdcecl1, cdcecl2, cdcecl3, cdcecl4, cdcklm1, cdcklm2,
221 // 60 cdcklm3, cdcklm4, ffb, uuu, uuuo, uub, uuo, c1hie, c1lume, n1hie,
222 // 70 n1lume, c3hie, c3lume, n3hie, n3lume, eed, fed, fp, bha3d, shem,
223 // 80 ohem, lml0, lml1, lml2, lml3, lml4, lml5, lml6, lml7, lml8,
224 // 92 lml9, lml10,
225
226 // 0
227 // 62 bit. gdl0065c
228 // 10 <= run <= 261
229 {
230 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
231 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
232 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
233 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
234 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
235 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
236 60, 61, 999, 999, 999, 999, 999, 999, 999, 999,
237 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
238 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
239 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
240 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
241 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
242 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
243 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
244 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
245 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
246 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
247 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
248 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
249 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
250 },
251
252 // 1
253 // 63 bit. gdl0065e, 65h, 65j, 65k
254 // 292 <= run <= 480
255 {
256 0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
257 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
258 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
259 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
260 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
261 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
262 60, 61, 6, 999, 999, 999, 999, 999, 999, 999,
263 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
264 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
265 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
266 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
267 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
268 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
269 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
270 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
271 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
272 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
273 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
274 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
275 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
276 },
277
278 // 2
279 // 67 bit. gdl0066a
280 // 292 <= run <= 480
281 {
282 0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
283 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
284 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
285 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
286 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
287 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
288 60, 61, 6, 63, 64, 65, 66, 999, 999, 999,
289 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
290 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
291 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
292 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
293 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
294 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
295 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
296 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
297 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
298 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
299 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
300 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
301 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
302 },
303
304 // 3
305 // 75 bit. gdl0066b(71bit), 66c,e,f,h,k, 67g.
306 // 1512 <= run < 5314
307 {
308 0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
309 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
310 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
311 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
312 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
313 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
314 60, 61, 6, 63, 64, 65, 66, 67, 68, 69,
315 70, 71, 72, 73, 74, 999, 999, 999, 999, 999,
316 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
317 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
318 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
319 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
320 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
321 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
322 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
323 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
324 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
325 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
326 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
327 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
328 },
329
330 // 4
331 // 88 bit. gdl0068a, 68b
332 // 5314 <= run
333 {
334 0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
335 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
336 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
337 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
338 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
339 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
340 60, 61, 6, 999, 999, 999, 999, 67, 68, 69,
341 70, 71, 72, 73, 74, 63, 64, 65, 66, 75,
342 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
343 86, 87, 999, 999, 999, 999, 999, 999, 999, 999,
344 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
345 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
346 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
347 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
348 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
349 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
350 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
351 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
352 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
353 999, 999, 999, 999, 999, 999, 999, 999, 999, 999
354 }
355
356};
357
358const unsigned
359TrgBit::_psnmValues[N_PSNM_ARRAY][N_BITS_RESERVED] = {
360
361 // 0
362 // psn_0055 r59-
363 {
364 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
365 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
384 },
385
386 // 1
387 // psn_0056 r108-
388 {
389 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
390 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
393 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
409 },
410
411 // 2
412 // psn_0057 r296-
413 {
414 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
415 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
416 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
417 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
418 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
420 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
434 },
435
436 // 3
437 // psn_0058 r1512-r1615 ecltiming=1
438 // Not used for good data
439 {
440 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
441 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
442 1500, 150, 0, 0, 1, 1, 0, 1, 0, 0,
443 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
444 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
446 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
460 },
461
462 // 4
463 // psn_0057 r1811- ecltiming=0
464 {
465 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
466 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
467 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
468 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
469 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
471 1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
485 },
486
487 // 5
488 // psn_0059 r1995- 5 Dark bits
489 {
490 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
491 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
492 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
493 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
494 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
496 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
497 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
510 },
511
512 // 6
513 // psn_0059 r2001- 3 Dark bits
514 {
515 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
516 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
517 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
518 0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
519 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
521 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
522 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
535 },
536
537 // 7
538 // psn_0060 r2314- eclnimo03 30->300
539 {
540 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
541 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
542 1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
543 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
544 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
546 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
547 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
560 },
561
562 // 8
563 // psn_0063 e3504- bg(26)->1
564 {
565 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
566 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
567 1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
568 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
569 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
571 1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
572 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
585 },
586
587 // 9
588 // psn_0064=65. e5341- eed,fed,fp,bha3d
589 // Can be earlier than 5341 but
590 // runsum files lost.
591 {
592 0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
593 1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
594 1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
595 0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
596 0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
598 1, 0, 20, 1, 1, 1, 1, 1, 1, 1,
599 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
612 }
613
614};
615
616void
617TrgBit::mapNumber(unsigned exp, unsigned run)
618{
619
620 const unsigned ern = exp * 1000000 + run;
621
622 // psnm
623 if (ern >= 3005341) nconf_psnm = 9; // 64=65
624 else if (ern >= 3003504) nconf_psnm = 8; // 63
625 else if (ern >= 3002314) nconf_psnm = 7; // 60
626 else if (ern >= 3002001) nconf_psnm = 6; // 59
627 else if (ern >= 3001995) nconf_psnm = 5; // 59 No good data.
628 else if (ern >= 3001811) nconf_psnm = 4; // 57
629 else if (ern >= 3001512) nconf_psnm = 3; // 58 No good data.
630 else if (ern >= 3000296) nconf_psnm = 2; // 57
631 else if (ern >= 3000108) nconf_psnm = 1; // 56
632 else { nconf_psnm = 0; } // 55
633
634 // ftdl
635 if (ern >= 3005314) nconf_ftdl = 4;
636 else if (ern >= 3001512) nconf_ftdl = 3;
637 else if (ern >= 3001315) nconf_ftdl = 2;
638 else if (ern >= 3000292) nconf_ftdl = 1;
639 else { nconf_ftdl = 0; }
640
641 // input
642 if (ern >= 3005594) nconf_input = 4;
643 else if (ern >= 3005314) nconf_input = 3;
644 else if (ern >= 3001866) nconf_input = 2;
645 else if (ern >= 3001315) nconf_input = 1;
646 else { nconf_input = 0; }
647
648 // Find number of using bits
649 n_input = 0;
650 n_output = 0;
651 for (unsigned i = 0; i < N_BITS_RESERVED; i++) {
652 unsigned j;
653 j = _inputMap[nconf_input][i];
654 if (j != 999 && n_input < j) n_input = j;
655 j = _outputMap[nconf_ftdl][i];
656 if (j != 999 && n_output < j) n_output = j;
657 }
658 n_input++;
659 n_output++;
660
661};
662
Abstract base class for different kinds of events.