Belle II Software  release-05-02-19
TRGCDCETFUnpackerModule.h
1 //---------------------------------------------------------------
2 // $Id$
3 //---------------------------------------------------------------
4 // Filename : TRGCDCETFUnpackerModule.h
5 // Section :
6 // Owner :
7 // Email :
8 //---------------------------------------------------------------
9 // Description : TRGCDCETFUnpacker Module
10 //---------------------------------------------------------------
11 // $Log$
12 //---------------------------------------------------------------
13 
14 #ifndef TRGCDCETFUNPACKER_H
15 #define TRGCDCETFUNPACKER_H
16 
17 #include <string>
18 
19 #include "rawdata/dataobjects/RawTRG.h"
20 #include "trg/cdc/dataobjects/TRGCDCETFUnpackerStore.h"
21 
22 #include <framework/datastore/StoreArray.h>
23 #include <framework/core/Module.h>
24 
25 namespace Belle2 {
31  namespace TRGCDCETFUNPACKERSPACE {
32 
34  const int nLeafs = 108;
36  const int nLeafsExtra = 4;
38  const int nClks = 48 ;
40  const int nBits = 1024;
42  const char* LeafNames[nLeafs + nLeafsExtra] = {
43  "etf_threshold",
44  "etf_threshold2",
45  "etf_holdtime",
46  "etf_firmvers",
47  "etf_cc",
48  "etf_output_gdl",
49  "etf_valid_gdl",
50  "etf_output",
51  "etf_valid",
52 
53  "etf_tsf8_nhit",
54  "etf_tsf8_ft9",
55  "etf_tsf8_ft8",
56  "etf_tsf8_ft7",
57  "etf_tsf8_ft6",
58  "etf_tsf8_ft5",
59  "etf_tsf8_ft4",
60  "etf_tsf8_ft3",
61  "etf_tsf8_ft2",
62  "etf_tsf8_ft1",
63  "etf_tsf8_ft0",
64 
65  "etf_tsf7_nhit",
66  "etf_tsf7_ft9",
67  "etf_tsf7_ft8",
68  "etf_tsf7_ft7",
69  "etf_tsf7_ft6",
70  "etf_tsf7_ft5",
71  "etf_tsf7_ft4",
72  "etf_tsf7_ft3",
73  "etf_tsf7_ft2",
74  "etf_tsf7_ft1",
75  "etf_tsf7_ft0",
76 
77  "etf_tsf6_nhit",
78  "etf_tsf6_ft9",
79  "etf_tsf6_ft8",
80  "etf_tsf6_ft7",
81  "etf_tsf6_ft6",
82  "etf_tsf6_ft5",
83  "etf_tsf6_ft4",
84  "etf_tsf6_ft3",
85  "etf_tsf6_ft2",
86  "etf_tsf6_ft1",
87  "etf_tsf6_ft0",
88 
89  "etf_tsf5_nhit",
90  "etf_tsf5_ft9",
91  "etf_tsf5_ft8",
92  "etf_tsf5_ft7",
93  "etf_tsf5_ft6",
94  "etf_tsf5_ft5",
95  "etf_tsf5_ft4",
96  "etf_tsf5_ft3",
97  "etf_tsf5_ft2",
98  "etf_tsf5_ft1",
99  "etf_tsf5_ft0",
100 
101  "etf_tsf4_nhit",
102  "etf_tsf4_ft9",
103  "etf_tsf4_ft8",
104  "etf_tsf4_ft7",
105  "etf_tsf4_ft6",
106  "etf_tsf4_ft5",
107  "etf_tsf4_ft4",
108  "etf_tsf4_ft3",
109  "etf_tsf4_ft2",
110  "etf_tsf4_ft1",
111  "etf_tsf4_ft0",
112 
113  "etf_tsf3_nhit",
114  "etf_tsf3_ft9",
115  "etf_tsf3_ft8",
116  "etf_tsf3_ft7",
117  "etf_tsf3_ft6",
118  "etf_tsf3_ft5",
119  "etf_tsf3_ft4",
120  "etf_tsf3_ft3",
121  "etf_tsf3_ft2",
122  "etf_tsf3_ft1",
123  "etf_tsf3_ft0",
124 
125  "etf_tsf2_nhit",
126  "etf_tsf2_ft9",
127  "etf_tsf2_ft8",
128  "etf_tsf2_ft7",
129  "etf_tsf2_ft6",
130  "etf_tsf2_ft5",
131  "etf_tsf2_ft4",
132  "etf_tsf2_ft3",
133  "etf_tsf2_ft2",
134  "etf_tsf2_ft1",
135  "etf_tsf2_ft0",
136 
137  "etf_tsf1_nhit",
138  "etf_tsf1_ft9",
139  "etf_tsf1_ft8",
140  "etf_tsf1_ft7",
141  "etf_tsf1_ft6",
142  "etf_tsf1_ft5",
143  "etf_tsf1_ft4",
144  "etf_tsf1_ft3",
145  "etf_tsf1_ft2",
146  "etf_tsf1_ft1",
147  "etf_tsf1_ft0",
148 
149  "etf_tsf0_nhit",
150  "etf_tsf0_ft9",
151  "etf_tsf0_ft8",
152  "etf_tsf0_ft7",
153  "etf_tsf0_ft6",
154  "etf_tsf0_ft5",
155  "etf_tsf0_ft4",
156  "etf_tsf0_ft3",
157  "etf_tsf0_ft2",
158  "etf_tsf0_ft1",
159  "etf_tsf0_ft0",
160  "evt", "clk", "firmid", "firmvers"
161 
162  };
163 
165  enum EBits {
166  e_etf_threshold,
167  e_etf_threshold2,
168  e_etf_holdtime,
169  e_etf_firmvers,
170  e_etf_cc,
171  e_etf_output_gdl,
172  e_etf_valid_gdl,
173  e_etf_output,
174  e_etf_valid,
175 
176  e_etf_tsf8_nhit,
177  e_etf_tsf8_ft9,
178  e_etf_tsf8_ft8,
179  e_etf_tsf8_ft7,
180  e_etf_tsf8_ft6,
181  e_etf_tsf8_ft5,
182  e_etf_tsf8_ft4,
183  e_etf_tsf8_ft3,
184  e_etf_tsf8_ft2,
185  e_etf_tsf8_ft1,
186  e_etf_tsf8_ft0,
187 
188  e_etf_tsf7_nhit,
189  e_etf_tsf7_ft9,
190  e_etf_tsf7_ft8,
191  e_etf_tsf7_ft7,
192  e_etf_tsf7_ft6,
193  e_etf_tsf7_ft5,
194  e_etf_tsf7_ft4,
195  e_etf_tsf7_ft3,
196  e_etf_tsf7_ft2,
197  e_etf_tsf7_ft1,
198  e_etf_tsf7_ft0,
199 
200  e_etf_tsf6_nhit,
201  e_etf_tsf6_ft9,
202  e_etf_tsf6_ft8,
203  e_etf_tsf6_ft7,
204  e_etf_tsf6_ft6,
205  e_etf_tsf6_ft5,
206  e_etf_tsf6_ft4,
207  e_etf_tsf6_ft3,
208  e_etf_tsf6_ft2,
209  e_etf_tsf6_ft1,
210  e_etf_tsf6_ft0,
211 
212  e_etf_tsf5_nhit,
213  e_etf_tsf5_ft9,
214  e_etf_tsf5_ft8,
215  e_etf_tsf5_ft7,
216  e_etf_tsf5_ft6,
217  e_etf_tsf5_ft5,
218  e_etf_tsf5_ft4,
219  e_etf_tsf5_ft3,
220  e_etf_tsf5_ft2,
221  e_etf_tsf5_ft1,
222  e_etf_tsf5_ft0,
223 
224  e_etf_tsf4_nhit,
225  e_etf_tsf4_ft9,
226  e_etf_tsf4_ft8,
227  e_etf_tsf4_ft7,
228  e_etf_tsf4_ft6,
229  e_etf_tsf4_ft5,
230  e_etf_tsf4_ft4,
231  e_etf_tsf4_ft3,
232  e_etf_tsf4_ft2,
233  e_etf_tsf4_ft1,
234  e_etf_tsf4_ft0,
235 
236  e_etf_tsf3_nhit,
237  e_etf_tsf3_ft9,
238  e_etf_tsf3_ft8,
239  e_etf_tsf3_ft7,
240  e_etf_tsf3_ft6,
241  e_etf_tsf3_ft5,
242  e_etf_tsf3_ft4,
243  e_etf_tsf3_ft3,
244  e_etf_tsf3_ft2,
245  e_etf_tsf3_ft1,
246  e_etf_tsf3_ft0,
247 
248  e_etf_tsf2_nhit,
249  e_etf_tsf2_ft9,
250  e_etf_tsf2_ft8,
251  e_etf_tsf2_ft7,
252  e_etf_tsf2_ft6,
253  e_etf_tsf2_ft5,
254  e_etf_tsf2_ft4,
255  e_etf_tsf2_ft3,
256  e_etf_tsf2_ft2,
257  e_etf_tsf2_ft1,
258  e_etf_tsf2_ft0,
259 
260  e_etf_tsf1_nhit,
261  e_etf_tsf1_ft9,
262  e_etf_tsf1_ft8,
263  e_etf_tsf1_ft7,
264  e_etf_tsf1_ft6,
265  e_etf_tsf1_ft5,
266  e_etf_tsf1_ft4,
267  e_etf_tsf1_ft3,
268  e_etf_tsf1_ft2,
269  e_etf_tsf1_ft1,
270  e_etf_tsf1_ft0,
271 
272  e_etf_tsf0_nhit,
273  e_etf_tsf0_ft9,
274  e_etf_tsf0_ft8,
275  e_etf_tsf0_ft7,
276  e_etf_tsf0_ft6,
277  e_etf_tsf0_ft5,
278  e_etf_tsf0_ft4,
279  e_etf_tsf0_ft3,
280  e_etf_tsf0_ft2,
281  e_etf_tsf0_ft1,
282  e_etf_tsf0_ft0,
283 
284  e_evt, e_clk, e_firmid, e_firmvers
285  };
286 
288  const int BitMap[nLeafs][2] = {
289  971, 3, //etf_threshold (971 downto 968)
290  967, 3, //etf_threshold2 (967 downto 964)
291  963, 7, //etf_holdtime (963 downto 956)
292  955, 31, //etf_firmvers (955 downto 924)
293  923, 8, //etf_cc (923 downto 915)
294  914, 12, //etf_output_gdl (914 downto 902)
295  901, 0, //etf_valid_gdl (901 downto 901)
296  900, 8, //etf_output (900 downto 892)
297  891, 0, //etf_valid (891 downto 891)
298 
299  890, 8, //etf_tsf8_nhit (890 downto 882)
300  881, 8, //etf_tsf8_ft9 (881 downto 873)
301  872, 8, //etf_tsf8_ft8 (872 downto 864)
302  863, 8, //etf_tsf8_ft7 (863 downto 855)
303  854, 8, //etf_tsf8_ft6 (854 downto 846)
304  845, 8, //etf_tsf8_ft5 (845 downto 837)
305  836, 8, //etf_tsf8_ft4 (836 downto 828)
306  827, 8, //etf_tsf8_ft3 (827 downto 819)
307  818, 8, //etf_tsf8_ft2 (818 downto 810)
308  809, 8, //etf_tsf8_ft1 (809 downto 801)
309  800, 8, //etf_tsf8_ft0 (800 downto 792)
310 
311  791, 8, //etf_tsf7_nhit (791 downto 783)
312  782, 8, //etf_tsf7_ft9 (782 downto 774)
313  773, 8, //etf_tsf7_ft8 (773 downto 765)
314  764, 8, //etf_tsf7_ft7 (764 downto 756)
315  755, 8, //etf_tsf7_ft6 (755 downto 747)
316  746, 8, //etf_tsf7_ft5 (746 downto 738)
317  737, 8, //etf_tsf7_ft4 (737 downto 729)
318  728, 8, //etf_tsf7_ft3 (728 downto 720)
319  719, 8, //etf_tsf7_ft2 (719 downto 711)
320  710, 8, //etf_tsf7_ft1 (710 downto 702)
321  701, 8, //etf_tsf7_ft0 (701 downto 693)
322 
323  692, 8, //etf_tsf6_nhit (692 downto 684)
324  683, 8, //etf_tsf6_ft9 (683 downto 675)
325  674, 8, //etf_tsf6_ft8 (674 downto 666)
326  665, 8, //etf_tsf6_ft7 (665 downto 657)
327  656, 8, //etf_tsf6_ft6 (656 downto 648)
328  647, 8, //etf_tsf6_ft5 (647 downto 639)
329  638, 8, //etf_tsf6_ft4 (638 downto 630)
330  629, 8, //etf_tsf6_ft3 (629 downto 621)
331  620, 8, //etf_tsf6_ft2 (620 downto 612)
332  611, 8, //etf_tsf6_ft1 (611 downto 603)
333  602, 8, //etf_tsf6_ft0 (602 downto 594)
334 
335  593, 8, //etf_tsf5_nhit (593 downto 585)
336  584, 8, //etf_tsf5_ft9 (584 downto 576)
337  575, 8, //etf_tsf5_ft8 (575 downto 567)
338  566, 8, //etf_tsf5_ft7 (566 downto 558)
339  557, 8, //etf_tsf5_ft6 (557 downto 549)
340  548, 8, //etf_tsf5_ft5 (548 downto 540)
341  539, 8, //etf_tsf5_ft4 (539 downto 531)
342  530, 8, //etf_tsf5_ft3 (530 downto 522)
343  521, 8, //etf_tsf5_ft2 (521 downto 513)
344  512, 8, //etf_tsf5_ft1 (512 downto 504)
345  503, 8, //etf_tsf5_ft0 (503 downto 495)
346 
347  494, 8, //etf_tsf4_nhit (494 downto 486)
348  485, 8, //etf_tsf4_ft9 (485 downto 477)
349  476, 8, //etf_tsf4_ft8 (476 downto 468)
350  467, 8, //etf_tsf4_ft7 (467 downto 459)
351  458, 8, //etf_tsf4_ft6 (458 downto 450)
352  449, 8, //etf_tsf4_ft5 (449 downto 441)
353  440, 8, //etf_tsf4_ft4 (440 downto 432)
354  431, 8, //etf_tsf4_ft3 (431 downto 423)
355  422, 8, //etf_tsf4_ft2 (422 downto 414)
356  413, 8, //etf_tsf4_ft1 (413 downto 405)
357  404, 8, //etf_tsf4_ft0 (404 downto 396)
358 
359  395, 8, //etf_tsf3_nhit (395 downto 387)
360  386, 8, //etf_tsf3_ft9 (386 downto 378)
361  377, 8, //etf_tsf3_ft8 (377 downto 369)
362  368, 8, //etf_tsf3_ft7 (368 downto 360)
363  359, 8, //etf_tsf3_ft6 (359 downto 351)
364  350, 8, //etf_tsf3_ft5 (350 downto 342)
365  341, 8, //etf_tsf3_ft4 (341 downto 333)
366  332, 8, //etf_tsf3_ft3 (332 downto 324)
367  323, 8, //etf_tsf3_ft2 (323 downto 315)
368  314, 8, //etf_tsf3_ft1 (314 downto 306)
369  305, 8, //etf_tsf3_ft0 (305 downto 297)
370 
371  296, 8, //etf_tsf2_nhit (296 downto 288)
372  287, 8, //etf_tsf2_ft9 (287 downto 279)
373  278, 8, //etf_tsf2_ft8 (278 downto 270)
374  269, 8, //etf_tsf2_ft7 (269 downto 261)
375  260, 8, //etf_tsf2_ft6 (260 downto 252)
376  251, 8, //etf_tsf2_ft5 (251 downto 243)
377  242, 8, //etf_tsf2_ft4 (242 downto 234)
378  233, 8, //etf_tsf2_ft3 (233 downto 225)
379  224, 8, //etf_tsf2_ft2 (224 downto 216)
380  215, 8, //etf_tsf2_ft1 (215 downto 207)
381  206, 8, //etf_tsf2_ft0 (206 downto 198)
382 
383  197, 8, //etf_tsf1_nhit (197 downto 189)
384  188, 8, //etf_tsf1_ft9 (188 downto 180)
385  179, 8, //etf_tsf1_ft8 (179 downto 171)
386  170, 8, //etf_tsf1_ft7 (170 downto 162)
387  161, 8, //etf_tsf1_ft6 (161 downto 153)
388  152, 8, //etf_tsf1_ft5 (152 downto 144)
389  143, 8, //etf_tsf1_ft4 (143 downto 135)
390  134, 8, //etf_tsf1_ft3 (134 downto 126)
391  125, 8, //etf_tsf1_ft2 (125 downto 117)
392  116, 8, //etf_tsf1_ft1 (116 downto 108)
393  107, 8, //etf_tsf1_ft0 (107 downto 99)
394 
395  98, 8, //etf_tsf0_nhit ( 98 downto 90)
396  89, 8, //etf_tsf0_ft9 ( 89 downto 81)
397  80, 8, //etf_tsf0_ft8 ( 80 downto 72)
398  71, 8, //etf_tsf0_ft7 ( 71 downto 63)
399  62, 8, //etf_tsf0_ft6 ( 62 downto 54)
400  53, 8, //etf_tsf0_ft5 ( 53 downto 45)
401  44, 8, //etf_tsf0_ft4 ( 44 downto 36)
402  35, 8, //etf_tsf0_ft3 ( 35 downto 27)
403  26, 8, //etf_tsf0_ft2 ( 26 downto 18)
404  17, 8, //etf_tsf0_ft1 ( 17 downto 9)
405  8, 8 //etf_tsf0_ft0 ( 8 downto 0)
406 
407 
408  //971, 8, //etf_tsf8_cc (890 downto 882)
409  //962, 8, //etf_tsf8_nhit (890 downto 882)
410  //953, 8, //etf_tsf8_ft0 (881 downto 873)
411  //944, 8, //etf_tsf8_ft1 (872 downto 864)
412  //935, 8, //etf_tsf8_ft2 (863 downto 855)
413  //926, 8, //etf_tsf8_ft3 (854 downto 846)
414  //917, 8, //etf_tsf8_ft4 (845 downto 837)
415  //908, 8, //etf_tsf8_ft5 (836 downto 828)
416  //899, 8, //etf_tsf8_ft6 (827 downto 819)
417  //890, 8, //etf_tsf8_ft7 (818 downto 810)
418  //881, 8, //etf_tsf8_ft8 (809 downto 801)
419  //872, 8, //etf_tsf8_ft9 (800 downto 792)
420  //
421  //863, 8, //etf_tsf7_cc (890 downto 882)
422  //854, 8, //etf_tsf7_nhit (791 downto 783)
423  //845, 8, //etf_tsf7_ft0 (782 downto 774)
424  //836, 8, //etf_tsf7_ft1 (773 downto 765)
425  //827, 8, //etf_tsf7_ft2 (764 downto 756)
426  //818, 8, //etf_tsf7_ft3 (755 downto 747)
427  //809, 8, //etf_tsf7_ft4 (746 downto 738)
428  //800, 8, //etf_tsf7_ft5 (737 downto 729)
429  //791, 8, //etf_tsf7_ft6 (728 downto 720)
430  //782, 8, //etf_tsf7_ft7 (719 downto 711)
431  //773, 8, //etf_tsf7_ft8 (710 downto 702)
432  //764, 8, //etf_tsf7_ft9 (701 downto 693)
433  //
434  //755, 8, //etf_tsf6_cc (890 downto 882)
435  //746, 8, //etf_tsf6_nhit (692 downto 684)
436  //737, 8, //etf_tsf6_ft0 (683 downto 675)
437  //728, 8, //etf_tsf6_ft1 (674 downto 666)
438  //719, 8, //etf_tsf6_ft2 (665 downto 657)
439  //710, 8, //etf_tsf6_ft3 (656 downto 648)
440  //701, 8, //etf_tsf6_ft4 (647 downto 639)
441  //692, 8, //etf_tsf6_ft5 (638 downto 630)
442  //683, 8, //etf_tsf6_ft6 (629 downto 621)
443  //674, 8, //etf_tsf6_ft7 (620 downto 612)
444  //665, 8, //etf_tsf6_ft8 (611 downto 603)
445  //656, 8, //etf_tsf6_ft9 (602 downto 594)
446  //
447  //647, 8, //etf_tsf5_cc (890 downto 882)
448  //638, 8, //etf_tsf5_nhit (593 downto 585)
449  //629, 8, //etf_tsf5_ft0 (584 downto 576)
450  //620, 8, //etf_tsf5_ft1 (575 downto 567)
451  //611, 8, //etf_tsf5_ft2 (566 downto 558)
452  //602, 8, //etf_tsf5_ft3 (557 downto 549)
453  //593, 8, //etf_tsf5_ft4 (548 downto 540)
454  //584, 8, //etf_tsf5_ft5 (539 downto 531)
455  //575, 8, //etf_tsf5_ft6 (530 downto 522)
456  //566, 8, //etf_tsf5_ft7 (521 downto 513)
457  //557, 8, //etf_tsf5_ft8 (512 downto 504)
458  //548, 8, //etf_tsf5_ft9 (503 downto 495)
459  //
460  //539, 8, //etf_tsf4_cc (890 downto 882)
461  //530, 8, //etf_tsf4_nhit (494 downto 486)
462  //521, 8, //etf_tsf4_ft0 (485 downto 477)
463  //512, 8, //etf_tsf4_ft1 (476 downto 468)
464  //503, 8, //etf_tsf4_ft2 (467 downto 459)
465  //494, 8, //etf_tsf4_ft3 (458 downto 450)
466  //485, 8, //etf_tsf4_ft4 (449 downto 441)
467  //476, 8, //etf_tsf4_ft5 (440 downto 432)
468  //467, 8, //etf_tsf4_ft6 (431 downto 423)
469  //458, 8, //etf_tsf4_ft7 (422 downto 414)
470  //449, 8, //etf_tsf4_ft8 (413 downto 405)
471  //440, 8, //etf_tsf4_ft9 (404 downto 396)
472  //
473  //431, 8, //etf_tsf3_cc (890 downto 882)
474  //422, 8, //etf_tsf3_nhit (395 downto 387)
475  //413, 8, //etf_tsf3_ft0 (386 downto 378)
476  //404, 8, //etf_tsf3_ft1 (377 downto 369)
477  //395, 8, //etf_tsf3_ft2 (368 downto 360)
478  //386, 8, //etf_tsf3_ft3 (359 downto 351)
479  //377, 8, //etf_tsf3_ft4 (350 downto 342)
480  //368, 8, //etf_tsf3_ft5 (341 downto 333)
481  //359, 8, //etf_tsf3_ft6 (332 downto 324)
482  //350, 8, //etf_tsf3_ft7 (323 downto 315)
483  //341, 8, //etf_tsf3_ft8 (314 downto 306)
484  //332, 8, //etf_tsf3_ft9 (305 downto 297)
485  //
486  //323, 8, //etf_tsf2_cc (890 downto 882)
487  //314, 8, //etf_tsf2_nhit (296 downto 288)
488  //305, 8, //etf_tsf2_ft0 (287 downto 279)
489  //296, 8, //etf_tsf2_ft1 (278 downto 270)
490  //287, 8, //etf_tsf2_ft2 (269 downto 261)
491  //278, 8, //etf_tsf2_ft3 (260 downto 252)
492  //269, 8, //etf_tsf2_ft4 (251 downto 243)
493  //260, 8, //etf_tsf2_ft5 (242 downto 234)
494  //251, 8, //etf_tsf2_ft6 (233 downto 225)
495  //242, 8, //etf_tsf2_ft7 (224 downto 216)
496  //233, 8, //etf_tsf2_ft8 (215 downto 207)
497  //224, 8, //etf_tsf2_ft9 (206 downto 198)
498  //
499  //215, 8, //etf_tsf1_cc (890 downto 882)
500  //206, 8, //etf_tsf1_nhit (197 downto 189)
501  //197, 8, //etf_tsf1_ft0 (188 downto 180)
502  //188, 8, //etf_tsf1_ft1 (179 downto 171)
503  //179, 8, //etf_tsf1_ft2 (170 downto 162)
504  //170, 8, //etf_tsf1_ft3 (161 downto 153)
505  //161, 8, //etf_tsf1_ft4 (152 downto 144)
506  //152, 8, //etf_tsf1_ft5 (143 downto 135)
507  //143, 8, //etf_tsf1_ft6 (134 downto 126)
508  //134, 8, //etf_tsf1_ft7 (125 downto 117)
509  //125, 8, //etf_tsf1_ft8 (116 downto 108)
510  //116, 8, //etf_tsf1_ft9 (107 downto 99)
511  //
512  //107, 8, //etf_tsf0_cc (890 downto 882)
513  // 98, 8, //etf_tsf0_nhit ( 98 downto 90)
514  // 89, 8, //etf_tsf0_ft0 ( 89 downto 81)
515  // 80, 8, //etf_tsf0_ft1 ( 80 downto 72)
516  // 71, 8, //etf_tsf0_ft2 ( 71 downto 63)
517  // 62, 8, //etf_tsf0_ft3 ( 62 downto 54)
518  // 53, 8, //etf_tsf0_ft4 ( 53 downto 45)
519  // 44, 8, //etf_tsf0_ft5 ( 44 downto 36)
520  // 35, 8, //etf_tsf0_ft6 ( 35 downto 27)
521  // 26, 8, //etf_tsf0_ft7 ( 26 downto 18)
522  // 17, 8, //etf_tsf0_ft8 ( 17 downto 9)
523  // 8, 8 //etf_tsf0_ft9 ( 8 downto 0)
524 
525 
526 
527  };
528 
529  void
530  setLeafPointersArray(TRGCDCETFUnpackerStore* store, int** bitArray)
531  {
532  bitArray[e_etf_threshold] = &(store->m_etf_threshold);
533  bitArray[e_etf_threshold2] = &(store->m_etf_threshold2);
534  bitArray[e_etf_holdtime] = &(store->m_etf_holdtime);
535  bitArray[e_etf_firmvers] = &(store->m_etf_firmvers);
536  bitArray[e_etf_cc] = &(store->m_etf_cc);
537  bitArray[e_etf_output_gdl] = &(store->m_etf_output_gdl);
538  bitArray[e_etf_valid_gdl] = &(store->m_etf_valid_gdl);
539  bitArray[e_etf_output] = &(store->m_etf_output);
540  bitArray[e_etf_valid] = &(store->m_etf_valid);
541 
542  bitArray[e_etf_tsf8_nhit] = &(store->m_etf_tsf8_nhit);
543  bitArray[e_etf_tsf8_ft9] = &(store->m_etf_tsf8_ft9);
544  bitArray[e_etf_tsf8_ft8] = &(store->m_etf_tsf8_ft8);
545  bitArray[e_etf_tsf8_ft7] = &(store->m_etf_tsf8_ft7);
546  bitArray[e_etf_tsf8_ft6] = &(store->m_etf_tsf8_ft6);
547  bitArray[e_etf_tsf8_ft5] = &(store->m_etf_tsf8_ft5);
548  bitArray[e_etf_tsf8_ft4] = &(store->m_etf_tsf8_ft4);
549  bitArray[e_etf_tsf8_ft3] = &(store->m_etf_tsf8_ft3);
550  bitArray[e_etf_tsf8_ft2] = &(store->m_etf_tsf8_ft2);
551  bitArray[e_etf_tsf8_ft1] = &(store->m_etf_tsf8_ft1);
552  bitArray[e_etf_tsf8_ft0] = &(store->m_etf_tsf8_ft0);
553 
554  bitArray[e_etf_tsf7_nhit] = &(store->m_etf_tsf7_nhit);
555  bitArray[e_etf_tsf7_ft9] = &(store->m_etf_tsf7_ft9);
556  bitArray[e_etf_tsf7_ft8] = &(store->m_etf_tsf7_ft8);
557  bitArray[e_etf_tsf7_ft7] = &(store->m_etf_tsf7_ft7);
558  bitArray[e_etf_tsf7_ft6] = &(store->m_etf_tsf7_ft6);
559  bitArray[e_etf_tsf7_ft5] = &(store->m_etf_tsf7_ft5);
560  bitArray[e_etf_tsf7_ft4] = &(store->m_etf_tsf7_ft4);
561  bitArray[e_etf_tsf7_ft3] = &(store->m_etf_tsf7_ft3);
562  bitArray[e_etf_tsf7_ft2] = &(store->m_etf_tsf7_ft2);
563  bitArray[e_etf_tsf7_ft1] = &(store->m_etf_tsf7_ft1);
564  bitArray[e_etf_tsf7_ft0] = &(store->m_etf_tsf7_ft0);
565 
566  bitArray[e_etf_tsf6_nhit] = &(store->m_etf_tsf6_nhit);
567  bitArray[e_etf_tsf6_ft9] = &(store->m_etf_tsf6_ft9);
568  bitArray[e_etf_tsf6_ft8] = &(store->m_etf_tsf6_ft8);
569  bitArray[e_etf_tsf6_ft7] = &(store->m_etf_tsf6_ft7);
570  bitArray[e_etf_tsf6_ft6] = &(store->m_etf_tsf6_ft6);
571  bitArray[e_etf_tsf6_ft5] = &(store->m_etf_tsf6_ft5);
572  bitArray[e_etf_tsf6_ft4] = &(store->m_etf_tsf6_ft4);
573  bitArray[e_etf_tsf6_ft3] = &(store->m_etf_tsf6_ft3);
574  bitArray[e_etf_tsf6_ft2] = &(store->m_etf_tsf6_ft2);
575  bitArray[e_etf_tsf6_ft1] = &(store->m_etf_tsf6_ft1);
576  bitArray[e_etf_tsf6_ft0] = &(store->m_etf_tsf6_ft0);
577 
578  bitArray[e_etf_tsf5_nhit] = &(store->m_etf_tsf5_nhit);
579  bitArray[e_etf_tsf5_ft9] = &(store->m_etf_tsf5_ft9);
580  bitArray[e_etf_tsf5_ft8] = &(store->m_etf_tsf5_ft8);
581  bitArray[e_etf_tsf5_ft7] = &(store->m_etf_tsf5_ft7);
582  bitArray[e_etf_tsf5_ft6] = &(store->m_etf_tsf5_ft6);
583  bitArray[e_etf_tsf5_ft5] = &(store->m_etf_tsf5_ft5);
584  bitArray[e_etf_tsf5_ft4] = &(store->m_etf_tsf5_ft4);
585  bitArray[e_etf_tsf5_ft3] = &(store->m_etf_tsf5_ft3);
586  bitArray[e_etf_tsf5_ft2] = &(store->m_etf_tsf5_ft2);
587  bitArray[e_etf_tsf5_ft1] = &(store->m_etf_tsf5_ft1);
588  bitArray[e_etf_tsf5_ft0] = &(store->m_etf_tsf5_ft0);
589 
590  bitArray[e_etf_tsf4_nhit] = &(store->m_etf_tsf4_nhit);
591  bitArray[e_etf_tsf4_ft9] = &(store->m_etf_tsf4_ft9);
592  bitArray[e_etf_tsf4_ft8] = &(store->m_etf_tsf4_ft8);
593  bitArray[e_etf_tsf4_ft7] = &(store->m_etf_tsf4_ft7);
594  bitArray[e_etf_tsf4_ft6] = &(store->m_etf_tsf4_ft6);
595  bitArray[e_etf_tsf4_ft5] = &(store->m_etf_tsf4_ft5);
596  bitArray[e_etf_tsf4_ft4] = &(store->m_etf_tsf4_ft4);
597  bitArray[e_etf_tsf4_ft3] = &(store->m_etf_tsf4_ft3);
598  bitArray[e_etf_tsf4_ft2] = &(store->m_etf_tsf4_ft2);
599  bitArray[e_etf_tsf4_ft1] = &(store->m_etf_tsf4_ft1);
600  bitArray[e_etf_tsf4_ft0] = &(store->m_etf_tsf4_ft0);
601 
602  bitArray[e_etf_tsf3_nhit] = &(store->m_etf_tsf3_nhit);
603  bitArray[e_etf_tsf3_ft9] = &(store->m_etf_tsf3_ft9);
604  bitArray[e_etf_tsf3_ft8] = &(store->m_etf_tsf3_ft8);
605  bitArray[e_etf_tsf3_ft7] = &(store->m_etf_tsf3_ft7);
606  bitArray[e_etf_tsf3_ft6] = &(store->m_etf_tsf3_ft6);
607  bitArray[e_etf_tsf3_ft5] = &(store->m_etf_tsf3_ft5);
608  bitArray[e_etf_tsf3_ft4] = &(store->m_etf_tsf3_ft4);
609  bitArray[e_etf_tsf3_ft3] = &(store->m_etf_tsf3_ft3);
610  bitArray[e_etf_tsf3_ft2] = &(store->m_etf_tsf3_ft2);
611  bitArray[e_etf_tsf3_ft1] = &(store->m_etf_tsf3_ft1);
612  bitArray[e_etf_tsf3_ft0] = &(store->m_etf_tsf3_ft0);
613 
614  bitArray[e_etf_tsf2_nhit] = &(store->m_etf_tsf2_nhit);
615  bitArray[e_etf_tsf2_ft9] = &(store->m_etf_tsf2_ft9);
616  bitArray[e_etf_tsf2_ft8] = &(store->m_etf_tsf2_ft8);
617  bitArray[e_etf_tsf2_ft7] = &(store->m_etf_tsf2_ft7);
618  bitArray[e_etf_tsf2_ft6] = &(store->m_etf_tsf2_ft6);
619  bitArray[e_etf_tsf2_ft5] = &(store->m_etf_tsf2_ft5);
620  bitArray[e_etf_tsf2_ft4] = &(store->m_etf_tsf2_ft4);
621  bitArray[e_etf_tsf2_ft3] = &(store->m_etf_tsf2_ft3);
622  bitArray[e_etf_tsf2_ft2] = &(store->m_etf_tsf2_ft2);
623  bitArray[e_etf_tsf2_ft1] = &(store->m_etf_tsf2_ft1);
624  bitArray[e_etf_tsf2_ft0] = &(store->m_etf_tsf2_ft0);
625 
626  bitArray[e_etf_tsf1_nhit] = &(store->m_etf_tsf1_nhit);
627  bitArray[e_etf_tsf1_ft9] = &(store->m_etf_tsf1_ft9);
628  bitArray[e_etf_tsf1_ft8] = &(store->m_etf_tsf1_ft8);
629  bitArray[e_etf_tsf1_ft7] = &(store->m_etf_tsf1_ft7);
630  bitArray[e_etf_tsf1_ft6] = &(store->m_etf_tsf1_ft6);
631  bitArray[e_etf_tsf1_ft5] = &(store->m_etf_tsf1_ft5);
632  bitArray[e_etf_tsf1_ft4] = &(store->m_etf_tsf1_ft4);
633  bitArray[e_etf_tsf1_ft3] = &(store->m_etf_tsf1_ft3);
634  bitArray[e_etf_tsf1_ft2] = &(store->m_etf_tsf1_ft2);
635  bitArray[e_etf_tsf1_ft1] = &(store->m_etf_tsf1_ft1);
636  bitArray[e_etf_tsf1_ft0] = &(store->m_etf_tsf1_ft0);
637 
638  bitArray[e_etf_tsf0_nhit] = &(store->m_etf_tsf0_nhit);
639  bitArray[e_etf_tsf0_ft9] = &(store->m_etf_tsf0_ft9);
640  bitArray[e_etf_tsf0_ft8] = &(store->m_etf_tsf0_ft8);
641  bitArray[e_etf_tsf0_ft7] = &(store->m_etf_tsf0_ft7);
642  bitArray[e_etf_tsf0_ft6] = &(store->m_etf_tsf0_ft6);
643  bitArray[e_etf_tsf0_ft5] = &(store->m_etf_tsf0_ft5);
644  bitArray[e_etf_tsf0_ft4] = &(store->m_etf_tsf0_ft4);
645  bitArray[e_etf_tsf0_ft3] = &(store->m_etf_tsf0_ft3);
646  bitArray[e_etf_tsf0_ft2] = &(store->m_etf_tsf0_ft2);
647  bitArray[e_etf_tsf0_ft1] = &(store->m_etf_tsf0_ft1);
648  bitArray[e_etf_tsf0_ft0] = &(store->m_etf_tsf0_ft0);
649 
650  bitArray[e_evt] = &(store->m_evt);
651  bitArray[e_clk] = &(store->m_clk);
652  bitArray[e_firmid] = &(store->m_firmid);
653  bitArray[e_firmvers] = &(store->m_firmvers);
654  }
655 
661 
662  public:
663 
666 
668  virtual ~TRGCDCETFUnpackerModule();
669 
671  virtual void initialize() override;
672 
674  virtual void event() override;
675 
677  virtual void terminate() override;
678 
680  virtual void beginRun() override;
681 
683  virtual void endRun() override;
684 
686  std::string version() const;
687 
689  virtual void fillTreeTRGCDCETFUnpacker(int* buf, int evt);
690 
691  private:
692 
695 
696  };
697  }
699 } // end namespace Belle2
700 #endif // TRGCDCETFUNPACKER_H
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::beginRun
virtual void beginRun() override
Called when new run started.
Definition: TRGCDCETFUnpackerModule.cc:51
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::TRGCDCETFUnpackerModule
TRGCDCETFUnpackerModule()
Constructor.
Definition: TRGCDCETFUnpackerModule.cc:28
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::event
virtual void event() override
Called event by event.
Definition: TRGCDCETFUnpackerModule.cc:59
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::endRun
virtual void endRun() override
Called when run ended.
Definition: TRGCDCETFUnpackerModule.cc:55
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::terminate
virtual void terminate() override
Called when processing ended.
Definition: TRGCDCETFUnpackerModule.cc:41
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::initialize
virtual void initialize() override
Initilizes TRGCDCETFUnpackerUnpackerModule.
Definition: TRGCDCETFUnpackerModule.cc:45
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule
A module of TRGCDCETFUnpacker.
Definition: TRGCDCETFUnpackerModule.h:660
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::version
std::string version() const
returns version of TRGCDCETFUnpackerModule.
Definition: TRGCDCETFUnpackerModule.cc:23
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::fillTreeTRGCDCETFUnpacker
virtual void fillTreeTRGCDCETFUnpacker(int *buf, int evt)
Unpacker main function.
Definition: TRGCDCETFUnpackerModule.cc:73
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::~TRGCDCETFUnpackerModule
virtual ~TRGCDCETFUnpackerModule()
Destructor.
Definition: TRGCDCETFUnpackerModule.cc:37
Belle2::TRGCDCETFUNPACKERSPACE::TRGCDCETFUnpackerModule::m_store
StoreArray< TRGCDCETFUnpackerStore > m_store
Output datastore for unpacker.
Definition: TRGCDCETFUnpackerModule.h:694