ATLAS Offline Software
Loading...
Searching...
No Matches
FPGADataFormatUtilities.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4
5 #ifndef EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATUTILITIES_H
6 #define EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATUTILITIES_H
7
8 #include <cstdint>
9
10 // Provider of simple function for conversion of data into the FPGA dataformat
12 {
13
14 consteval uint64_t SELECTBITS(uint8_t len, uint8_t startbit) {
15 return (len == 64 ? 0xFFFFFFFFFFFFFFFFULL : (((1ULL << len) - 1ULL) << startbit));
16 }
17
18
19 // EVT_HDR defined flags
20 const int EVT_HDR_FLAG = 0xab;
21
22 // EVT_HDR_W1 word description
23 const int EVT_HDR_W1_FLAG_bits = 8;
24 const int EVT_HDR_W1_FLAG_lsb = 56;
25 const float EVT_HDR_W1_FLAG_mf = 1.;
26
27 const int EVT_HDR_W1_L0ID_bits = 40;
28 const int EVT_HDR_W1_L0ID_lsb = 16;
29 const float EVT_HDR_W1_L0ID_mf = 1.;
30
31 const int EVT_HDR_W1_BCID_bits = 12;
32 const int EVT_HDR_W1_BCID_lsb = 4;
33 const float EVT_HDR_W1_BCID_mf = 1.;
34
35 const int EVT_HDR_W1_SPARE_bits = 4;
36 const int EVT_HDR_W1_SPARE_lsb = 0;
37 const float EVT_HDR_W1_SPARE_mf = 1.;
38
39 // EVT_HDR_W2 word description
42 const float EVT_HDR_W2_RUNNUMBER_mf = 1.;
43
44 const int EVT_HDR_W2_TIME_bits = 32;
45 const int EVT_HDR_W2_TIME_lsb = 0;
46 const float EVT_HDR_W2_TIME_mf = 1.;
47
48 // EVT_HDR_W3 word description
49 const int EVT_HDR_W3_STATUS_bits = 32;
50 const int EVT_HDR_W3_STATUS_lsb = 32;
51 const float EVT_HDR_W3_STATUS_mf = 1.;
52
53 const int EVT_HDR_W3_CRC_bits = 32;
54 const int EVT_HDR_W3_CRC_lsb = 0;
55 const float EVT_HDR_W3_CRC_mf = 1.;
56
63
68
73
82
89
96
97 inline uint64_t get_dataformat_EVT_HDR_w1 (const EVT_HDR_w1& in) {
98 uint64_t temp = 0;
99 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(EVT_HDR_W1_FLAG_bits, 0)) << EVT_HDR_W1_FLAG_lsb);
100 temp |= (((static_cast<uint64_t>(in.l0id)) & SELECTBITS(EVT_HDR_W1_L0ID_bits, 0)) << EVT_HDR_W1_L0ID_lsb);
101 temp |= (((static_cast<uint64_t>(in.bcid)) & SELECTBITS(EVT_HDR_W1_BCID_bits, 0)) << EVT_HDR_W1_BCID_lsb);
102 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EVT_HDR_W1_SPARE_bits, 0)) << EVT_HDR_W1_SPARE_lsb);
103 return temp;
104 }
105
106 inline uint64_t get_dataformat_EVT_HDR_w2 (const EVT_HDR_w2& in) {
107 uint64_t temp = 0;
108 temp |= (((static_cast<uint64_t>(in.runnumber)) & SELECTBITS(EVT_HDR_W2_RUNNUMBER_bits, 0)) << EVT_HDR_W2_RUNNUMBER_lsb);
109 temp |= (((static_cast<uint64_t>(in.time)) & SELECTBITS(EVT_HDR_W2_TIME_bits, 0)) << EVT_HDR_W2_TIME_lsb);
110 return temp;
111 }
112
113 inline uint64_t get_dataformat_EVT_HDR_w3 (const EVT_HDR_w3& in) {
114 uint64_t temp = 0;
115 temp |= (((static_cast<uint64_t>(in.status)) & SELECTBITS(EVT_HDR_W3_STATUS_bits, 0)) << EVT_HDR_W3_STATUS_lsb);
116 temp |= (((static_cast<uint64_t>(in.crc)) & SELECTBITS(EVT_HDR_W3_CRC_bits, 0)) << EVT_HDR_W3_CRC_lsb);
117 return temp;
118 }
119
120 inline EVT_HDR_w1 fill_EVT_HDR_w1 (const uint64_t& flag, const uint64_t& l0id, const uint64_t& bcid, const uint64_t& spare) {
121 EVT_HDR_w1 temp;
122 temp.flag = flag;
123 temp.l0id = l0id;
124 temp.bcid = bcid;
125 temp.spare = spare;
126 return temp;
127 }
128
129 inline EVT_HDR_w2 fill_EVT_HDR_w2 (const uint64_t& runnumber, const uint64_t& time) {
130 EVT_HDR_w2 temp;
131 temp.runnumber = runnumber;
132 temp.time = time;
133 return temp;
134 }
135
136 inline EVT_HDR_w3 fill_EVT_HDR_w3 (const uint64_t& status, const uint64_t& crc) {
137 EVT_HDR_w3 temp;
138 temp.status = status;
139 temp.crc = crc;
140 return temp;
141 }
142
143 inline uint64_t to_real_EVT_HDR_w1_flag (const uint64_t& in) {
144 return in;
145 }
146
147 inline uint64_t to_real_EVT_HDR_w1_l0id (const uint64_t& in) {
148 return in;
149 }
150
151 inline uint64_t to_real_EVT_HDR_w1_bcid (const uint64_t& in) {
152 return in;
153 }
154
155 inline uint64_t to_real_EVT_HDR_w1_spare (const uint64_t& in) {
156 return in;
157 }
158
159 inline uint64_t to_real_EVT_HDR_w2_runnumber (const uint64_t& in) {
160 return in;
161 }
162
163 inline uint64_t to_real_EVT_HDR_w2_time (const uint64_t& in) {
164 return in;
165 }
166
167 inline uint64_t to_real_EVT_HDR_w3_status (const uint64_t& in) {
168 return in;
169 }
170
171 inline uint64_t to_real_EVT_HDR_w3_crc (const uint64_t& in) {
172 return in;
173 }
174
175 // EVT_FTR defined flags
176 const int EVT_FTR_FLAG = 0xcd;
177
178 // EVT_FTR_W1 word description
179 const int EVT_FTR_W1_FLAG_bits = 8;
180 const int EVT_FTR_W1_FLAG_lsb = 56;
181 const float EVT_FTR_W1_FLAG_mf = 1.;
182
183 const int EVT_FTR_W1_SPARE_bits = 24;
184 const int EVT_FTR_W1_SPARE_lsb = 32;
185 const float EVT_FTR_W1_SPARE_mf = 1.;
186
189 const float EVT_FTR_W1_HDR_CRC_mf = 1.;
190
191 // EVT_FTR_W2 word description
195
196 // EVT_FTR_W3 word description
199 const float EVT_FTR_W3_WORD_COUNT_mf = 1.;
200
201 const int EVT_FTR_W3_CRC_bits = 32;
202 const int EVT_FTR_W3_CRC_lsb = 0;
203 const float EVT_FTR_W3_CRC_mf = 1.;
204
210
214
219
227
233
240
241 inline uint64_t get_dataformat_EVT_FTR_w1 (const EVT_FTR_w1& in) {
242 uint64_t temp = 0;
243 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(EVT_FTR_W1_FLAG_bits, 0)) << EVT_FTR_W1_FLAG_lsb);
244 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EVT_FTR_W1_SPARE_bits, 0)) << EVT_FTR_W1_SPARE_lsb);
245 temp |= (((static_cast<uint64_t>(in.hdr_crc)) & SELECTBITS(EVT_FTR_W1_HDR_CRC_bits, 0)) << EVT_FTR_W1_HDR_CRC_lsb);
246 return temp;
247 }
248
249 inline uint64_t get_dataformat_EVT_FTR_w2 (const EVT_FTR_w2& in) {
250 uint64_t temp = 0;
251 temp |= (((static_cast<uint64_t>(in.error_flags)) & SELECTBITS(EVT_FTR_W2_ERROR_FLAGS_bits, 0)) << EVT_FTR_W2_ERROR_FLAGS_lsb);
252 return temp;
253 }
254
255 inline uint64_t get_dataformat_EVT_FTR_w3 (const EVT_FTR_w3& in) {
256 uint64_t temp = 0;
257 temp |= (((static_cast<uint64_t>(in.word_count)) & SELECTBITS(EVT_FTR_W3_WORD_COUNT_bits, 0)) << EVT_FTR_W3_WORD_COUNT_lsb);
258 temp |= (((static_cast<uint64_t>(in.crc)) & SELECTBITS(EVT_FTR_W3_CRC_bits, 0)) << EVT_FTR_W3_CRC_lsb);
259 return temp;
260 }
261
262 inline EVT_FTR_w1 fill_EVT_FTR_w1 (const uint64_t& flag, const uint64_t& spare, const uint64_t& hdr_crc) {
263 EVT_FTR_w1 temp;
264 temp.flag = flag;
265 temp.spare = spare;
266 temp.hdr_crc = hdr_crc;
267 return temp;
268 }
269
270 inline EVT_FTR_w2 fill_EVT_FTR_w2 (const uint64_t& error_flags) {
271 EVT_FTR_w2 temp;
272 temp.error_flags = error_flags;
273 return temp;
274 }
275
276 inline EVT_FTR_w3 fill_EVT_FTR_w3 (const uint64_t& word_count, const uint64_t& crc) {
277 EVT_FTR_w3 temp;
278 temp.word_count = word_count;
279 temp.crc = crc;
280 return temp;
281 }
282
283 inline uint64_t to_real_EVT_FTR_w1_flag (const uint64_t& in) {
284 return in;
285 }
286
287 inline uint64_t to_real_EVT_FTR_w1_spare (const uint64_t& in) {
288 return in;
289 }
290
291 inline uint64_t to_real_EVT_FTR_w1_hdr_crc (const uint64_t& in) {
292 return in;
293 }
294
295 inline uint64_t to_real_EVT_FTR_w2_error_flags (const uint64_t& in) {
296 return in;
297 }
298
299 inline uint64_t to_real_EVT_FTR_w3_word_count (const uint64_t& in) {
300 return in;
301 }
302
303 inline uint64_t to_real_EVT_FTR_w3_crc (const uint64_t& in) {
304 return in;
305 }
306
307 // M_HDR defined flags
308 const int M_HDR_FLAG = 0x55;
309
310 // M_HDR_W1 word description
311 const int M_HDR_W1_FLAG_bits = 8;
312 const int M_HDR_W1_FLAG_lsb = 56;
313 const float M_HDR_W1_FLAG_mf = 1.;
314
315 const int M_HDR_W1_MODID_bits = 32;
316 const int M_HDR_W1_MODID_lsb = 24;
317 const float M_HDR_W1_MODID_mf = 1.;
318
319 const int M_HDR_W1_MODHASH_bits = 16;
320 const int M_HDR_W1_MODHASH_lsb = 8;
321 const float M_HDR_W1_MODHASH_mf = 1.;
322
323 const int M_HDR_W1_SPARE_bits = 8;
324 const int M_HDR_W1_SPARE_lsb = 0;
325 const float M_HDR_W1_SPARE_mf = 1.;
326
333
342
343 inline uint64_t get_dataformat_M_HDR_w1 (const M_HDR_w1& in) {
344 uint64_t temp = 0;
345 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(M_HDR_W1_FLAG_bits, 0)) << M_HDR_W1_FLAG_lsb);
346 temp |= (((static_cast<uint64_t>(in.modid)) & SELECTBITS(M_HDR_W1_MODID_bits, 0)) << M_HDR_W1_MODID_lsb);
347 temp |= (((static_cast<uint64_t>(in.modhash)) & SELECTBITS(M_HDR_W1_MODHASH_bits, 0)) << M_HDR_W1_MODHASH_lsb);
348 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(M_HDR_W1_SPARE_bits, 0)) << M_HDR_W1_SPARE_lsb);
349 return temp;
350 }
351
352 inline M_HDR_w1 fill_M_HDR_w1 (const uint64_t& flag, const uint64_t& modid, const uint64_t& modhash, const uint64_t& spare) {
353 M_HDR_w1 temp;
354 temp.flag = flag;
355 temp.modid = modid;
356 temp.modhash = modhash;
357 temp.spare = spare;
358 return temp;
359 }
360
361 inline uint64_t to_real_M_HDR_w1_flag (const uint64_t& in) {
362 return in;
363 }
364
365 inline uint64_t to_real_M_HDR_w1_modid (const uint64_t& in) {
366 return in;
367 }
368
369 inline uint64_t to_real_M_HDR_w1_modhash (const uint64_t& in) {
370 return in;
371 }
372
373 inline uint64_t to_real_M_HDR_w1_spare (const uint64_t& in) {
374 return in;
375 }
376
377 // SLICE_HDR defined flags
378 const int SLICE_HDR_FLAG = 0x88;
379
380 // SLICE_HDR_W1 word description
382 const int SLICE_HDR_W1_FLAG_lsb = 56;
383 const float SLICE_HDR_W1_FLAG_mf = 1.;
384
387 const float SLICE_HDR_W1_SLICEID_mf = 1.;
388
392
396
399 const float SLICE_HDR_W1_SPARE_mf = 1.;
400
408
418
419 inline uint64_t get_dataformat_SLICE_HDR_w1 (const SLICE_HDR_w1& in) {
420 uint64_t temp = 0;
421 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(SLICE_HDR_W1_FLAG_bits, 0)) << SLICE_HDR_W1_FLAG_lsb);
422 temp |= (((static_cast<uint64_t>(in.sliceid)) & SELECTBITS(SLICE_HDR_W1_SLICEID_bits, 0)) << SLICE_HDR_W1_SLICEID_lsb);
423 temp |= (((static_cast<uint64_t>(in.eta_region)) & SELECTBITS(SLICE_HDR_W1_ETA_REGION_bits, 0)) << SLICE_HDR_W1_ETA_REGION_lsb);
424 temp |= (((static_cast<uint64_t>(in.phi_region)) & SELECTBITS(SLICE_HDR_W1_PHI_REGION_bits, 0)) << SLICE_HDR_W1_PHI_REGION_lsb);
425 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(SLICE_HDR_W1_SPARE_bits, 0)) << SLICE_HDR_W1_SPARE_lsb);
426 return temp;
427 }
428
429 inline SLICE_HDR_w1 fill_SLICE_HDR_w1 (const uint64_t& flag, const uint64_t& sliceid, const uint64_t& eta_region, const uint64_t& phi_region, const uint64_t& spare) {
430 SLICE_HDR_w1 temp;
431 temp.flag = flag;
432 temp.sliceid = sliceid;
433 temp.eta_region = eta_region;
434 temp.phi_region = phi_region;
435 temp.spare = spare;
436 return temp;
437 }
438
439 inline uint64_t to_real_SLICE_HDR_w1_flag (const uint64_t& in) {
440 return in;
441 }
442
443 inline uint64_t to_real_SLICE_HDR_w1_sliceid (const uint64_t& in) {
444 return in;
445 }
446
447 inline uint64_t to_real_SLICE_HDR_w1_eta_region (const uint64_t& in) {
448 return in;
449 }
450
451 inline uint64_t to_real_SLICE_HDR_w1_phi_region (const uint64_t& in) {
452 return in;
453 }
454
455 inline uint64_t to_real_SLICE_HDR_w1_spare (const uint64_t& in) {
456 return in;
457 }
458
459 // RD_HDR defined flags
460 const int RD_HDR_FLAG = 0xbb;
461
462 // RD_HDR_W1 word description
463 const int RD_HDR_W1_FLAG_bits = 8;
464 const int RD_HDR_W1_FLAG_lsb = 56;
465 const float RD_HDR_W1_FLAG_mf = 1.;
466
467 const int RD_HDR_W1_TYPE_bits = 4;
468 const int RD_HDR_W1_TYPE_lsb = 52;
469 const float RD_HDR_W1_TYPE_mf = 1.;
470
473 const float RD_HDR_W1_ETA_REGION_mf = 1.;
474
477 const float RD_HDR_W1_PHI_REGION_mf = 1.;
478
479 const int RD_HDR_W1_SLICE_bits = 5;
480 const int RD_HDR_W1_SLICE_lsb = 35;
481 const float RD_HDR_W1_SLICE_mf = 1.;
482
485 const float RD_HDR_W1_HOUGH_X_BIN_mf = 1.;
486
489 const float RD_HDR_W1_HOUGH_Y_BIN_mf = 1.;
490
494
498
499 const int RD_HDR_W1_SPARE_bits = 5;
500 const int RD_HDR_W1_SPARE_lsb = 0;
501 const float RD_HDR_W1_SPARE_mf = 1.;
502
503 // RD_HDR_W2 word description
506 const float RD_HDR_W2_GLOBAL_PHI_mf = 1.;
507
510 const float RD_HDR_W2_GLOBAL_ETA_mf = 1.;
511
512 const int RD_HDR_W2_SPARE_bits = 32;
513 const int RD_HDR_W2_SPARE_lsb = 0;
514 const float RD_HDR_W2_SPARE_mf = 1.;
515
528
534
549
557
558 inline uint64_t get_dataformat_RD_HDR_w1 (const RD_HDR_w1& in) {
559 uint64_t temp = 0;
560 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(RD_HDR_W1_FLAG_bits, 0)) << RD_HDR_W1_FLAG_lsb);
561 temp |= (((static_cast<uint64_t>(in.type)) & SELECTBITS(RD_HDR_W1_TYPE_bits, 0)) << RD_HDR_W1_TYPE_lsb);
562 temp |= (((static_cast<uint64_t>(in.eta_region)) & SELECTBITS(RD_HDR_W1_ETA_REGION_bits, 0)) << RD_HDR_W1_ETA_REGION_lsb);
563 temp |= (((static_cast<uint64_t>(in.phi_region)) & SELECTBITS(RD_HDR_W1_PHI_REGION_bits, 0)) << RD_HDR_W1_PHI_REGION_lsb);
564 temp |= (((static_cast<uint64_t>(in.slice)) & SELECTBITS(RD_HDR_W1_SLICE_bits, 0)) << RD_HDR_W1_SLICE_lsb);
565 temp |= (((static_cast<uint64_t>(in.hough_x_bin)) & SELECTBITS(RD_HDR_W1_HOUGH_X_BIN_bits, 0)) << RD_HDR_W1_HOUGH_X_BIN_lsb);
566 temp |= (((static_cast<uint64_t>(in.hough_y_bin)) & SELECTBITS(RD_HDR_W1_HOUGH_Y_BIN_bits, 0)) << RD_HDR_W1_HOUGH_Y_BIN_lsb);
567 temp |= (((static_cast<uint64_t>(in.second_stage)) & SELECTBITS(RD_HDR_W1_SECOND_STAGE_bits, 0)) << RD_HDR_W1_SECOND_STAGE_lsb);
568 temp |= (((static_cast<uint64_t>(in.layer_bitmask)) & SELECTBITS(RD_HDR_W1_LAYER_BITMASK_bits, 0)) << RD_HDR_W1_LAYER_BITMASK_lsb);
569 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(RD_HDR_W1_SPARE_bits, 0)) << RD_HDR_W1_SPARE_lsb);
570 return temp;
571 }
572
573 inline uint64_t get_dataformat_RD_HDR_w2 (const RD_HDR_w2& in) {
574 uint64_t temp = 0;
575 temp |= (((static_cast<uint64_t>(in.global_phi)) & SELECTBITS(RD_HDR_W2_GLOBAL_PHI_bits, 0)) << RD_HDR_W2_GLOBAL_PHI_lsb);
576 temp |= (((static_cast<uint64_t>(in.global_eta)) & SELECTBITS(RD_HDR_W2_GLOBAL_ETA_bits, 0)) << RD_HDR_W2_GLOBAL_ETA_lsb);
577 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(RD_HDR_W2_SPARE_bits, 0)) << RD_HDR_W2_SPARE_lsb);
578 return temp;
579 }
580
581 inline RD_HDR_w1 fill_RD_HDR_w1 (const uint64_t& flag, const uint64_t& type, const uint64_t& eta_region, const uint64_t& phi_region, const uint64_t& slice, const uint64_t& hough_x_bin, const uint64_t& hough_y_bin, const uint64_t& second_stage, const uint64_t& layer_bitmask, const uint64_t& spare) {
582 RD_HDR_w1 temp;
583 temp.flag = flag;
584 temp.type = type;
585 temp.eta_region = eta_region;
586 temp.phi_region = phi_region;
587 temp.slice = slice;
588 temp.hough_x_bin = hough_x_bin;
589 temp.hough_y_bin = hough_y_bin;
590 temp.second_stage = second_stage;
591 temp.layer_bitmask = layer_bitmask;
592 temp.spare = spare;
593 return temp;
594 }
595
596 inline RD_HDR_w2 fill_RD_HDR_w2 (const uint64_t& global_phi, const uint64_t& global_eta, const uint64_t& spare) {
597 RD_HDR_w2 temp;
598 temp.global_phi = global_phi;
599 temp.global_eta = global_eta;
600 temp.spare = spare;
601 return temp;
602 }
603
604 inline uint64_t to_real_RD_HDR_w1_flag (const uint64_t& in) {
605 return in;
606 }
607
608 inline uint64_t to_real_RD_HDR_w1_type (const uint64_t& in) {
609 return in;
610 }
611
612 inline uint64_t to_real_RD_HDR_w1_eta_region (const uint64_t& in) {
613 return in;
614 }
615
616 inline uint64_t to_real_RD_HDR_w1_phi_region (const uint64_t& in) {
617 return in;
618 }
619
620 inline uint64_t to_real_RD_HDR_w1_slice (const uint64_t& in) {
621 return in;
622 }
623
624 inline uint64_t to_real_RD_HDR_w1_hough_x_bin (const uint64_t& in) {
625 return in;
626 }
627
628 inline uint64_t to_real_RD_HDR_w1_hough_y_bin (const uint64_t& in) {
629 return in;
630 }
631
632 inline uint64_t to_real_RD_HDR_w1_second_stage (const uint64_t& in) {
633 return in;
634 }
635
636 inline uint64_t to_real_RD_HDR_w1_layer_bitmask (const uint64_t& in) {
637 return in;
638 }
639
640 inline uint64_t to_real_RD_HDR_w1_spare (const uint64_t& in) {
641 return in;
642 }
643
644 inline uint64_t to_real_RD_HDR_w2_global_phi (const uint64_t& in) {
645 return in;
646 }
647
648 inline uint64_t to_real_RD_HDR_w2_global_eta (const uint64_t& in) {
649 return in;
650 }
651
652 inline uint64_t to_real_RD_HDR_w2_spare (const uint64_t& in) {
653 return in;
654 }
655
656 // GTRACK_HDR defined flags
657 const int GTRACK_HDR_FLAG = 0xee;
658
659 // GTRACK_HDR_W1 word description
662 const float GTRACK_HDR_W1_FLAG_mf = 1.;
663
666 const float GTRACK_HDR_W1_TYPE_mf = 1.;
667
671
675
678 const float GTRACK_HDR_W1_PHI_BIN_mf = 1.;
679
682 const float GTRACK_HDR_W1_Z_BIN_mf = 1.;
683
687
691
692 // GTRACK_HDR_W2 word description
695 const float GTRACK_HDR_W2_SCORE_mf = 2048.;
696
697 const int GTRACK_HDR_W2_D0_bits = 16;
698 const int GTRACK_HDR_W2_D0_lsb = 32;
699 const float GTRACK_HDR_W2_D0_mf = 4096.;
700
701 const int GTRACK_HDR_W2_Z0_bits = 16;
702 const int GTRACK_HDR_W2_Z0_lsb = 16;
703 const float GTRACK_HDR_W2_Z0_mf = 32.;
704
707 const float GTRACK_HDR_W2_SPARE_mf = 1.;
708
709 // GTRACK_HDR_W3 word description
712 const float GTRACK_HDR_W3_QOVERPT_mf = 32768.;
713
715 const int GTRACK_HDR_W3_PHI_lsb = 32;
716 const float GTRACK_HDR_W3_PHI_mf = 8192.;
717
719 const int GTRACK_HDR_W3_ETA_lsb = 16;
720 const float GTRACK_HDR_W3_ETA_mf = 8192.;
721
724 const float GTRACK_HDR_W3_SPARE_mf = 1.;
725
736
743
750
763
772
781
782 inline uint64_t get_dataformat_GTRACK_HDR_w1 (const GTRACK_HDR_w1& in) {
783 uint64_t temp = 0;
784 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(GTRACK_HDR_W1_FLAG_bits, 0)) << GTRACK_HDR_W1_FLAG_lsb);
785 temp |= (((static_cast<uint64_t>(in.type)) & SELECTBITS(GTRACK_HDR_W1_TYPE_bits, 0)) << GTRACK_HDR_W1_TYPE_lsb);
786 temp |= (((static_cast<uint64_t>(in.eta_region)) & SELECTBITS(GTRACK_HDR_W1_ETA_REGION_bits, 0)) << GTRACK_HDR_W1_ETA_REGION_lsb);
787 temp |= (((static_cast<uint64_t>(in.phi_region)) & SELECTBITS(GTRACK_HDR_W1_PHI_REGION_bits, 0)) << GTRACK_HDR_W1_PHI_REGION_lsb);
788 temp |= (((static_cast<uint64_t>(in.phi_bin)) & SELECTBITS(GTRACK_HDR_W1_PHI_BIN_bits, 0)) << GTRACK_HDR_W1_PHI_BIN_lsb);
789 temp |= (((static_cast<uint64_t>(in.z_bin)) & SELECTBITS(GTRACK_HDR_W1_Z_BIN_bits, 0)) << GTRACK_HDR_W1_Z_BIN_lsb);
790 temp |= (((static_cast<uint64_t>(in.second_stage)) & SELECTBITS(GTRACK_HDR_W1_SECOND_STAGE_bits, 0)) << GTRACK_HDR_W1_SECOND_STAGE_lsb);
791 temp |= (((static_cast<uint64_t>(in.layer_bitmask)) & SELECTBITS(GTRACK_HDR_W1_LAYER_BITMASK_bits, 0)) << GTRACK_HDR_W1_LAYER_BITMASK_lsb);
792 return temp;
793 }
794
795 inline uint64_t get_dataformat_GTRACK_HDR_w2 (const GTRACK_HDR_w2& in) {
796 uint64_t temp = 0;
797 temp |= (((static_cast<uint64_t>(in.score)) & SELECTBITS(GTRACK_HDR_W2_SCORE_bits, 0)) << GTRACK_HDR_W2_SCORE_lsb);
798 temp |= (((static_cast<uint64_t>(in.d0)) & SELECTBITS(GTRACK_HDR_W2_D0_bits, 0)) << GTRACK_HDR_W2_D0_lsb);
799 temp |= (((static_cast<uint64_t>(in.z0)) & SELECTBITS(GTRACK_HDR_W2_Z0_bits, 0)) << GTRACK_HDR_W2_Z0_lsb);
800 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(GTRACK_HDR_W2_SPARE_bits, 0)) << GTRACK_HDR_W2_SPARE_lsb);
801 return temp;
802 }
803
804 inline uint64_t get_dataformat_GTRACK_HDR_w3 (const GTRACK_HDR_w3& in) {
805 uint64_t temp = 0;
806 temp |= (((static_cast<uint64_t>(in.qoverpt)) & SELECTBITS(GTRACK_HDR_W3_QOVERPT_bits, 0)) << GTRACK_HDR_W3_QOVERPT_lsb);
807 temp |= (((static_cast<uint64_t>(in.phi)) & SELECTBITS(GTRACK_HDR_W3_PHI_bits, 0)) << GTRACK_HDR_W3_PHI_lsb);
808 temp |= (((static_cast<uint64_t>(in.eta)) & SELECTBITS(GTRACK_HDR_W3_ETA_bits, 0)) << GTRACK_HDR_W3_ETA_lsb);
809 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(GTRACK_HDR_W3_SPARE_bits, 0)) << GTRACK_HDR_W3_SPARE_lsb);
810 return temp;
811 }
812
813 inline GTRACK_HDR_w1 fill_GTRACK_HDR_w1 (const uint64_t& flag, const uint64_t& type, const uint64_t& eta_region, const uint64_t& phi_region, const uint64_t& phi_bin, const uint64_t& z_bin, const uint64_t& second_stage, const uint64_t& layer_bitmask) {
814 GTRACK_HDR_w1 temp;
815 temp.flag = flag;
816 temp.type = type;
817 temp.eta_region = eta_region;
818 temp.phi_region = phi_region;
819 temp.phi_bin = phi_bin;
820 temp.z_bin = z_bin;
821 temp.second_stage = second_stage;
822 temp.layer_bitmask = layer_bitmask;
823 return temp;
824 }
825
826 inline GTRACK_HDR_w2 fill_GTRACK_HDR_w2 (const double& score, const double& d0, const double& z0, const uint64_t& spare) {
827 GTRACK_HDR_w2 temp;
828 temp.score = static_cast<uint64_t>(score * GTRACK_HDR_W2_SCORE_mf);
829 temp.d0 = static_cast<uint64_t>(d0 * GTRACK_HDR_W2_D0_mf);
830 temp.z0 = static_cast<uint64_t>(z0 * GTRACK_HDR_W2_Z0_mf);
831 temp.spare = spare;
832 return temp;
833 }
834
835 inline GTRACK_HDR_w3 fill_GTRACK_HDR_w3 (const double& qoverpt, const double& phi, const double& eta, const uint64_t& spare) {
836 GTRACK_HDR_w3 temp;
837 temp.qoverpt = static_cast<uint64_t>(qoverpt * GTRACK_HDR_W3_QOVERPT_mf);
838 temp.phi = static_cast<uint64_t>(phi * GTRACK_HDR_W3_PHI_mf);
839 temp.eta = static_cast<uint64_t>(eta * GTRACK_HDR_W3_ETA_mf);
840 temp.spare = spare;
841 return temp;
842 }
843
844 inline uint64_t to_real_GTRACK_HDR_w1_flag (const uint64_t& in) {
845 return in;
846 }
847
848 inline uint64_t to_real_GTRACK_HDR_w1_type (const uint64_t& in) {
849 return in;
850 }
851
852 inline uint64_t to_real_GTRACK_HDR_w1_eta_region (const uint64_t& in) {
853 return in;
854 }
855
856 inline uint64_t to_real_GTRACK_HDR_w1_phi_region (const uint64_t& in) {
857 return in;
858 }
859
860 inline uint64_t to_real_GTRACK_HDR_w1_phi_bin (const uint64_t& in) {
861 return in;
862 }
863
864 inline uint64_t to_real_GTRACK_HDR_w1_z_bin (const uint64_t& in) {
865 return in;
866 }
867
868 inline uint64_t to_real_GTRACK_HDR_w1_second_stage (const uint64_t& in) {
869 return in;
870 }
871
872 inline uint64_t to_real_GTRACK_HDR_w1_layer_bitmask (const uint64_t& in) {
873 return in;
874 }
875
876 inline double to_real_GTRACK_HDR_w2_score (const uint64_t& in) {
877 return (double)in / GTRACK_HDR_W2_SCORE_mf;
878 }
879
880 inline double to_real_GTRACK_HDR_w2_d0 (const int64_t& in) {
881 return (double)in / GTRACK_HDR_W2_D0_mf;
882 }
883
884 inline double to_real_GTRACK_HDR_w2_z0 (const int64_t& in) {
885 return (double)in / GTRACK_HDR_W2_Z0_mf;
886 }
887
888 inline uint64_t to_real_GTRACK_HDR_w2_spare (const uint64_t& in) {
889 return in;
890 }
891
892 inline int64_t to_real_GTRACK_HDR_w3_qoverpt (const int64_t& in) {
893 return in;
894 }
895
896 inline int64_t to_real_GTRACK_HDR_w3_phi (const int64_t& in) {
897 return in;
898 }
899
900 inline int64_t to_real_GTRACK_HDR_w3_eta (const int64_t& in) {
901 return in;
902 }
903
904 inline uint64_t to_real_GTRACK_HDR_w3_spare (const uint64_t& in) {
905 return in;
906 }
907
908 // PIXEL_CLUSTER word description
911 const float PIXEL_CLUSTER_LAST_mf = 1.;
912
914 const int PIXEL_CLUSTER_COL_lsb = 50;
915 const float PIXEL_CLUSTER_COL_mf = 1.;
916
918 const int PIXEL_CLUSTER_ROW_lsb = 37;
919 const float PIXEL_CLUSTER_ROW_mf = 1.;
920
924
928
931 const float PIXEL_CLUSTER_SPARE_mf = 1.;
932
941
952
953 inline uint64_t get_dataformat_PIXEL_CLUSTER (const PIXEL_CLUSTER& in) {
954 uint64_t temp = 0;
955 temp |= (((static_cast<uint64_t>(in.last)) & SELECTBITS(PIXEL_CLUSTER_LAST_bits, 0)) << PIXEL_CLUSTER_LAST_lsb);
956 temp |= (((static_cast<uint64_t>(in.col)) & SELECTBITS(PIXEL_CLUSTER_COL_bits, 0)) << PIXEL_CLUSTER_COL_lsb);
957 temp |= (((static_cast<uint64_t>(in.row)) & SELECTBITS(PIXEL_CLUSTER_ROW_bits, 0)) << PIXEL_CLUSTER_ROW_lsb);
958 temp |= (((static_cast<uint64_t>(in.centroid_col)) & SELECTBITS(PIXEL_CLUSTER_CENTROID_COL_bits, 0)) << PIXEL_CLUSTER_CENTROID_COL_lsb);
959 temp |= (((static_cast<uint64_t>(in.centroid_row)) & SELECTBITS(PIXEL_CLUSTER_CENTROID_ROW_bits, 0)) << PIXEL_CLUSTER_CENTROID_ROW_lsb);
960 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(PIXEL_CLUSTER_SPARE_bits, 0)) << PIXEL_CLUSTER_SPARE_lsb);
961 return temp;
962 }
963
964 inline PIXEL_CLUSTER fill_PIXEL_CLUSTER (const uint64_t& last, const uint64_t& col, const uint64_t& row, const double& centroid_col, const double& centroid_row, const uint64_t& spare) {
965 PIXEL_CLUSTER temp;
966 temp.last = last;
967 temp.col = col;
968 temp.row = row;
969 temp.centroid_col = (uint64_t)(centroid_col * PIXEL_CLUSTER_CENTROID_COL_mf);
970 temp.centroid_row = (uint64_t)(centroid_row * PIXEL_CLUSTER_CENTROID_ROW_mf);
971 temp.spare = spare;
972 return temp;
973 }
974
975 inline uint64_t to_real_PIXEL_CLUSTER_last (const uint64_t& in) {
976 return in;
977 }
978
979 inline uint64_t to_real_PIXEL_CLUSTER_col (const uint64_t& in) {
980 return in;
981 }
982
983 inline uint64_t to_real_PIXEL_CLUSTER_row (const uint64_t& in) {
984 return in;
985 }
986
987 inline double to_real_PIXEL_CLUSTER_centroid_col (const uint64_t& in) {
988 return (double)in / PIXEL_CLUSTER_CENTROID_COL_mf;
989 }
990
991 inline double to_real_PIXEL_CLUSTER_centroid_row (const uint64_t& in) {
992 return (double)in / PIXEL_CLUSTER_CENTROID_ROW_mf;
993 }
994
995 inline uint64_t to_real_PIXEL_CLUSTER_spare (const uint64_t& in) {
996 return in;
997 }
998
999 // STRIP_CLUSTER word description
1002 const float STRIP_CLUSTER_LAST_mf = 1.;
1003
1006 const float STRIP_CLUSTER_ROW_mf = 1.;
1007
1011
1015
1018 const float STRIP_CLUSTER_SPARE_mf = 1.;
1019
1027
1037
1038 inline uint64_t get_dataformat_STRIP_CLUSTER_up32 (const uint64_t& in) {
1039 return (in & SELECTBITS(32, 32)) >> 32;
1040 }
1041
1042 inline uint64_t get_dataformat_STRIP_CLUSTER_low32 (const uint64_t& in) {
1043 return (in & SELECTBITS(32, 0));
1044 }
1045
1046 inline uint64_t get_dataformat_STRIP_CLUSTER (const STRIP_CLUSTER& in) {
1047 uint64_t temp = 0;
1048 temp |= (((static_cast<uint64_t>(in.last)) & SELECTBITS(STRIP_CLUSTER_LAST_bits, 0)) << STRIP_CLUSTER_LAST_lsb);
1049 temp |= (((static_cast<uint64_t>(in.row)) & SELECTBITS(STRIP_CLUSTER_ROW_bits, 0)) << STRIP_CLUSTER_ROW_lsb);
1050 temp |= (((static_cast<uint64_t>(in.nstrips)) & SELECTBITS(STRIP_CLUSTER_NSTRIPS_bits, 0)) << STRIP_CLUSTER_NSTRIPS_lsb);
1051 temp |= (((static_cast<uint64_t>(in.strip_index)) & SELECTBITS(STRIP_CLUSTER_STRIP_INDEX_bits, 0)) << STRIP_CLUSTER_STRIP_INDEX_lsb);
1052 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(STRIP_CLUSTER_SPARE_bits, 0)) << STRIP_CLUSTER_SPARE_lsb);
1053 return temp;
1054 }
1055
1056 inline uint64_t get_dataformat_STRIP_CLUSTER_64 (const uint64_t& up, const uint64_t& low) {
1057 uint64_t temp = up << 32;
1058 return (temp | low);
1059 }
1060
1061 inline STRIP_CLUSTER fill_STRIP_CLUSTER (const uint64_t& last, const uint64_t& row, const uint64_t& nstrips, const uint64_t& strip_index, const uint64_t& spare) {
1062 STRIP_CLUSTER temp;
1063 temp.last = last;
1064 temp.row = row;
1065 temp.nstrips = nstrips;
1066 temp.strip_index = strip_index;
1067 temp.spare = spare;
1068 return temp;
1069 }
1070
1071 inline uint64_t to_real_STRIP_CLUSTER_last (const uint64_t& in) {
1072 return in;
1073 }
1074
1075 inline uint64_t to_real_STRIP_CLUSTER_row (const uint64_t& in) {
1076 return in;
1077 }
1078
1079 inline uint64_t to_real_STRIP_CLUSTER_nstrips (const uint64_t& in) {
1080 return in;
1081 }
1082
1083 inline uint64_t to_real_STRIP_CLUSTER_strip_index (const uint64_t& in) {
1084 return in;
1085 }
1086
1087 inline uint64_t to_real_STRIP_CLUSTER_spare (const uint64_t& in) {
1088 return in;
1089 }
1090
1091 // GHITZ_W1 word description
1092 const int GHITZ_W1_LAST_bits = 1;
1093 const int GHITZ_W1_LAST_lsb = 63;
1094 const float GHITZ_W1_LAST_mf = 1.;
1095
1096 const int GHITZ_W1_LYR_bits = 6;
1097 const int GHITZ_W1_LYR_lsb = 57;
1098 const float GHITZ_W1_LYR_mf = 1.;
1099
1100 const int GHITZ_W1_RAD_bits = 18;
1101 const int GHITZ_W1_RAD_lsb = 39;
1102 const float GHITZ_W1_RAD_mf = 256.;
1103
1104 const int GHITZ_W1_PHI_bits = 16;
1105 const int GHITZ_W1_PHI_lsb = 23;
1106 const float GHITZ_W1_PHI_mf = 8192.;
1107
1108 const int GHITZ_W1_Z_bits = 20;
1109 const int GHITZ_W1_Z_lsb = 3;
1110 const float GHITZ_W1_Z_mf = 128.;
1111
1114 const float GHITZ_W1_LASTOFSLICE_mf = 1.;
1115
1116 const int GHITZ_W1_SPARE_bits = 2;
1117 const int GHITZ_W1_SPARE_lsb = 0;
1118 const float GHITZ_W1_SPARE_mf = 1.;
1119
1120 // GHITZ_W2 word description
1123 const float GHITZ_W2_CLUSTER1_mf = 1.;
1124
1127 const float GHITZ_W2_CLUSTER2_mf = 1.;
1128
1129 const int GHITZ_W2_ROW_bits = 6;
1130 const int GHITZ_W2_ROW_lsb = 20;
1131 const float GHITZ_W2_ROW_mf = 1.;
1132
1133 const int GHITZ_W2_SPARE_bits = 20;
1134 const int GHITZ_W2_SPARE_lsb = 0;
1135 const float GHITZ_W2_SPARE_mf = 1.;
1136
1146
1153
1165
1174
1175 inline uint64_t get_dataformat_GHITZ_w1 (const GHITZ_w1& in) {
1176 uint64_t temp = 0;
1177 temp |= (((static_cast<uint64_t>(in.last)) & SELECTBITS(GHITZ_W1_LAST_bits, 0)) << GHITZ_W1_LAST_lsb);
1178 temp |= (((static_cast<uint64_t>(in.lyr)) & SELECTBITS(GHITZ_W1_LYR_bits, 0)) << GHITZ_W1_LYR_lsb);
1179 temp |= (((static_cast<uint64_t>(in.rad)) & SELECTBITS(GHITZ_W1_RAD_bits, 0)) << GHITZ_W1_RAD_lsb);
1180 temp |= (((static_cast<uint64_t>(in.phi)) & SELECTBITS(GHITZ_W1_PHI_bits, 0)) << GHITZ_W1_PHI_lsb);
1181 temp |= (((static_cast<uint64_t>(in.z)) & SELECTBITS(GHITZ_W1_Z_bits, 0)) << GHITZ_W1_Z_lsb);
1182 temp |= (((static_cast<uint64_t>(in.lastofslice)) & SELECTBITS(GHITZ_W1_LASTOFSLICE_bits, 0)) << GHITZ_W1_LASTOFSLICE_lsb);
1183 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(GHITZ_W1_SPARE_bits, 0)) << GHITZ_W1_SPARE_lsb);
1184 return temp;
1185 }
1186
1187 inline uint64_t get_dataformat_GHITZ_w2 (const GHITZ_w2& in) {
1188 uint64_t temp = 0;
1189 temp |= (((static_cast<uint64_t>(in.cluster1)) & SELECTBITS(GHITZ_W2_CLUSTER1_bits, 0)) << GHITZ_W2_CLUSTER1_lsb);
1190 temp |= (((static_cast<uint64_t>(in.cluster2)) & SELECTBITS(GHITZ_W2_CLUSTER2_bits, 0)) << GHITZ_W2_CLUSTER2_lsb);
1191 temp |= (((static_cast<uint64_t>(in.row)) & SELECTBITS(GHITZ_W2_ROW_bits, 0)) << GHITZ_W2_ROW_lsb);
1192 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(GHITZ_W2_SPARE_bits, 0)) << GHITZ_W2_SPARE_lsb);
1193 return temp;
1194 }
1195
1196 inline GHITZ_w1 fill_GHITZ_w1 (const uint64_t& last, const uint64_t& lyr, const double& rad, const double& phi, const double& z, const uint64_t& lastofslice, const uint64_t& spare) {
1197 GHITZ_w1 temp;
1198 temp.last = last;
1199 temp.lyr = lyr;
1200 temp.rad = (uint64_t)(rad * GHITZ_W1_RAD_mf);
1201 temp.phi = (int64_t)(phi * GHITZ_W1_PHI_mf);
1202 temp.z = (int64_t)(z * GHITZ_W1_Z_mf);
1203 temp.lastofslice = lastofslice;
1204 temp.spare = spare;
1205 return temp;
1206 }
1207
1208 inline GHITZ_w2 fill_GHITZ_w2 (const uint64_t& cluster1, const uint64_t& cluster2, const uint64_t& row, const uint64_t& spare) {
1209 GHITZ_w2 temp;
1210 temp.cluster1 = cluster1;
1211 temp.cluster2 = cluster2;
1212 temp.row = row;
1213 temp.spare = spare;
1214 return temp;
1215 }
1216
1217 inline uint64_t to_real_GHITZ_w1_last (const uint64_t& in) {
1218 return in;
1219 }
1220
1221 inline uint64_t to_real_GHITZ_w1_lyr (const uint64_t& in) {
1222 return in;
1223 }
1224
1225 inline double to_real_GHITZ_w1_rad (const uint64_t& in) {
1226 return (double)in / GHITZ_W1_RAD_mf;
1227 }
1228
1229 inline double to_real_GHITZ_w1_phi (const int64_t& in) {
1230 return (double)in / GHITZ_W1_PHI_mf;
1231 }
1232
1233 inline double to_real_GHITZ_w1_z (const int64_t& in) {
1234 return (double)in / GHITZ_W1_Z_mf;
1235 }
1236
1237 inline uint64_t to_real_GHITZ_w1_lastofslice (const uint64_t& in) {
1238 return in;
1239 }
1240
1241 inline uint64_t to_real_GHITZ_w1_spare (const uint64_t& in) {
1242 return in;
1243 }
1244
1245 inline uint64_t to_real_GHITZ_w2_cluster1 (const uint64_t& in) {
1246 return in;
1247 }
1248
1249 inline uint64_t to_real_GHITZ_w2_cluster2 (const uint64_t& in) {
1250 return in;
1251 }
1252
1253 inline uint64_t to_real_GHITZ_w2_row (const uint64_t& in) {
1254 return in;
1255 }
1256
1257 inline uint64_t to_real_GHITZ_w2_spare (const uint64_t& in) {
1258 return in;
1259 }
1260
1261 // EDM_STRIPCLUSTER defined flags
1262 const int EDM_STRIPCLUSTER_FLAG = 0x66;
1263
1264 // EDM_STRIPCLUSTER_W1 word description
1268
1272
1276
1277 // EDM_STRIPCLUSTER_W2 word description
1281
1282 // EDM_STRIPCLUSTER_W3 word description
1286
1287 // EDM_STRIPCLUSTER_W4 word description
1291
1292 // EDM_STRIPCLUSTER_W5 word description
1296
1297 // EDM_STRIPCLUSTER_W6 word description
1301
1305
1309
1313
1314 // EDM_STRIPCLUSTER_W7 word description
1318
1322
1326
1330
1331 // EDM_STRIPCLUSTER_W8 word description
1335
1336 // EDM_STRIPCLUSTER_W9 word description
1340
1344
1348
1352
1358
1362
1366
1370
1374
1381
1388
1392
1399
1407
1413
1419
1425
1431
1440
1449
1455
1464
1466 uint64_t temp = 0;
1467 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(EDM_STRIPCLUSTER_W1_FLAG_bits, 0)) << EDM_STRIPCLUSTER_W1_FLAG_lsb);
1468 temp |= (((static_cast<uint64_t>(in.id_hash)) & SELECTBITS(EDM_STRIPCLUSTER_W1_ID_HASH_bits, 0)) << EDM_STRIPCLUSTER_W1_ID_HASH_lsb);
1469 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_STRIPCLUSTER_W1_SPARE_bits, 0)) << EDM_STRIPCLUSTER_W1_SPARE_lsb);
1470 return temp;
1471 }
1472
1474 uint64_t temp = 0;
1476 return temp;
1477 }
1478
1480 uint64_t temp = 0;
1482 return temp;
1483 }
1484
1486 uint64_t temp = 0;
1488 return temp;
1489 }
1490
1492 uint64_t temp = 0;
1494 return temp;
1495 }
1496
1498 uint64_t temp = 0;
1502 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_STRIPCLUSTER_W6_SPARE_bits, 0)) << EDM_STRIPCLUSTER_W6_SPARE_lsb);
1503 return temp;
1504 }
1505
1507 uint64_t temp = 0;
1511 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_STRIPCLUSTER_W7_SPARE_bits, 0)) << EDM_STRIPCLUSTER_W7_SPARE_lsb);
1512 return temp;
1513 }
1514
1516 uint64_t temp = 0;
1518 return temp;
1519 }
1520
1522 uint64_t temp = 0;
1524 temp |= (((static_cast<uint64_t>(in.lastword)) & SELECTBITS(EDM_STRIPCLUSTER_W9_LASTWORD_bits, 0)) << EDM_STRIPCLUSTER_W9_LASTWORD_lsb);
1525 temp |= (((static_cast<uint64_t>(in.index)) & SELECTBITS(EDM_STRIPCLUSTER_W9_INDEX_bits, 0)) << EDM_STRIPCLUSTER_W9_INDEX_lsb);
1526 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_STRIPCLUSTER_W9_SPARE_bits, 0)) << EDM_STRIPCLUSTER_W9_SPARE_lsb);
1527 return temp;
1528 }
1529
1530 inline EDM_STRIPCLUSTER_w1 fill_EDM_STRIPCLUSTER_w1 (const uint64_t& flag, const uint64_t& id_hash, const uint64_t& spare) {
1532 temp.flag = flag;
1533 temp.id_hash = id_hash;
1534 temp.spare = spare;
1535 return temp;
1536 }
1537
1538 inline EDM_STRIPCLUSTER_w2 fill_EDM_STRIPCLUSTER_w2 (const uint64_t& rdo_list_w1) {
1540 temp.rdo_list_w1 = rdo_list_w1;
1541 return temp;
1542 }
1543
1544 inline EDM_STRIPCLUSTER_w3 fill_EDM_STRIPCLUSTER_w3 (const uint64_t& rdo_list_w2) {
1546 temp.rdo_list_w2 = rdo_list_w2;
1547 return temp;
1548 }
1549
1550 inline EDM_STRIPCLUSTER_w4 fill_EDM_STRIPCLUSTER_w4 (const uint64_t& rdo_list_w3) {
1552 temp.rdo_list_w3 = rdo_list_w3;
1553 return temp;
1554 }
1555
1556 inline EDM_STRIPCLUSTER_w5 fill_EDM_STRIPCLUSTER_w5 (const uint64_t& rdo_list_w4) {
1558 temp.rdo_list_w4 = rdo_list_w4;
1559 return temp;
1560 }
1561
1562 inline EDM_STRIPCLUSTER_w6 fill_EDM_STRIPCLUSTER_w6 (const double& localposition_x, const double& localposition_y, const double& localcovariance_xx, const uint64_t& spare) {
1564 temp.localposition_x = (int64_t)(localposition_x * EDM_STRIPCLUSTER_W6_LOCALPOSITION_X_mf);
1565 temp.localposition_y = (int64_t)(localposition_y * EDM_STRIPCLUSTER_W6_LOCALPOSITION_Y_mf);
1566 temp.localcovariance_xx = (uint64_t)(localcovariance_xx * EDM_STRIPCLUSTER_W6_LOCALCOVARIANCE_XX_mf);
1567 temp.spare = spare;
1568 return temp;
1569 }
1570
1571 inline EDM_STRIPCLUSTER_w7 fill_EDM_STRIPCLUSTER_w7 (const double& globalposition_x, const double& globalposition_y, const uint64_t& channels_in_phi, const uint64_t& spare) {
1573 temp.globalposition_x = (int64_t)(globalposition_x * EDM_STRIPCLUSTER_W7_GLOBALPOSITION_X_mf);
1574 temp.globalposition_y = (int64_t)(globalposition_y * EDM_STRIPCLUSTER_W7_GLOBALPOSITION_Y_mf);
1575 temp.channels_in_phi = channels_in_phi;
1576 temp.spare = spare;
1577 return temp;
1578 }
1579
1580 inline EDM_STRIPCLUSTER_w8 fill_EDM_STRIPCLUSTER_w8 (const uint64_t& identifier) {
1582 temp.identifier = identifier;
1583 return temp;
1584 }
1585
1586 inline EDM_STRIPCLUSTER_w9 fill_EDM_STRIPCLUSTER_w9 (const double& globalposition_z, const uint64_t& lastword, const uint64_t& index, const uint64_t& spare) {
1588 temp.globalposition_z = (int64_t)(globalposition_z * EDM_STRIPCLUSTER_W9_GLOBALPOSITION_Z_mf);
1589 temp.lastword = lastword;
1590 temp.index = index;
1591 temp.spare = spare;
1592 return temp;
1593 }
1594
1595 inline uint64_t to_real_EDM_STRIPCLUSTER_w1_flag (const uint64_t& in) {
1596 return in;
1597 }
1598
1599 inline uint64_t to_real_EDM_STRIPCLUSTER_w1_id_hash (const uint64_t& in) {
1600 return in;
1601 }
1602
1603 inline uint64_t to_real_EDM_STRIPCLUSTER_w1_spare (const uint64_t& in) {
1604 return in;
1605 }
1606
1607 inline uint64_t to_real_EDM_STRIPCLUSTER_w2_rdo_list_w1 (const uint64_t& in) {
1608 return in;
1609 }
1610
1611 inline uint64_t to_real_EDM_STRIPCLUSTER_w3_rdo_list_w2 (const uint64_t& in) {
1612 return in;
1613 }
1614
1615 inline uint64_t to_real_EDM_STRIPCLUSTER_w4_rdo_list_w3 (const uint64_t& in) {
1616 return in;
1617 }
1618
1619 inline uint64_t to_real_EDM_STRIPCLUSTER_w5_rdo_list_w4 (const uint64_t& in) {
1620 return in;
1621 }
1622
1623 inline double to_real_EDM_STRIPCLUSTER_w6_localposition_x (const int64_t& in) {
1624 return (double)in / EDM_STRIPCLUSTER_W6_LOCALPOSITION_X_mf;
1625 }
1626
1627 inline double to_real_EDM_STRIPCLUSTER_w6_localposition_y (const int64_t& in) {
1628 return (double)in / EDM_STRIPCLUSTER_W6_LOCALPOSITION_Y_mf;
1629 }
1630
1631 inline double to_real_EDM_STRIPCLUSTER_w6_localcovariance_xx (const uint64_t& in) {
1633 }
1634
1635 inline uint64_t to_real_EDM_STRIPCLUSTER_w6_spare (const uint64_t& in) {
1636 return in;
1637 }
1638
1639 inline double to_real_EDM_STRIPCLUSTER_w7_globalposition_x (const int64_t& in) {
1640 return (double)in / EDM_STRIPCLUSTER_W7_GLOBALPOSITION_X_mf;
1641 }
1642
1643 inline double to_real_EDM_STRIPCLUSTER_w7_globalposition_y (const int64_t& in) {
1644 return (double)in / EDM_STRIPCLUSTER_W7_GLOBALPOSITION_Y_mf;
1645 }
1646
1647 inline uint64_t to_real_EDM_STRIPCLUSTER_w7_channels_in_phi (const uint64_t& in) {
1648 return in;
1649 }
1650
1651 inline uint64_t to_real_EDM_STRIPCLUSTER_w7_spare (const uint64_t& in) {
1652 return in;
1653 }
1654
1655 inline uint64_t to_real_EDM_STRIPCLUSTER_w8_identifier (const uint64_t& in) {
1656 return in;
1657 }
1658
1659 inline double to_real_EDM_STRIPCLUSTER_w9_globalposition_z (const int64_t& in) {
1660 return (double)in / EDM_STRIPCLUSTER_W9_GLOBALPOSITION_Z_mf;
1661 }
1662
1663 inline uint64_t to_real_EDM_STRIPCLUSTER_w9_lastword (const uint64_t& in) {
1664 return in;
1665 }
1666
1667 inline uint64_t to_real_EDM_STRIPCLUSTER_w9_index (const uint64_t& in) {
1668 return in;
1669 }
1670
1671 inline uint64_t to_real_EDM_STRIPCLUSTER_w9_spare (const uint64_t& in) {
1672 return in;
1673 }
1674
1675 // EDM_PIXELCLUSTER defined flags
1676 const int EDM_PIXELCLUSTER_FLAG = 0x77;
1677
1678 // EDM_PIXELCLUSTER_W1 word description
1682
1686
1690
1691 // EDM_PIXELCLUSTER_W2 word description
1695
1696 // EDM_PIXELCLUSTER_W3 word description
1700
1701 // EDM_PIXELCLUSTER_W4 word description
1705
1706 // EDM_PIXELCLUSTER_W5 word description
1710
1711 // EDM_PIXELCLUSTER_W6 word description
1715
1719
1723
1727
1731
1732 // EDM_PIXELCLUSTER_W7 word description
1736
1740
1744
1748
1749 // EDM_PIXELCLUSTER_W8 word description
1753
1757
1761
1762 // EDM_PIXELCLUSTER_W9 word description
1766
1767 // EDM_PIXELCLUSTER_W10 word description
1771
1775
1779
1783
1789
1793
1797
1801
1805
1813
1820
1826
1830
1837
1845
1851
1857
1863
1869
1879
1888
1896
1902
1911
1913 uint64_t temp = 0;
1914 temp |= (((static_cast<uint64_t>(in.flag)) & SELECTBITS(EDM_PIXELCLUSTER_W1_FLAG_bits, 0)) << EDM_PIXELCLUSTER_W1_FLAG_lsb);
1915 temp |= (((static_cast<uint64_t>(in.id_hash)) & SELECTBITS(EDM_PIXELCLUSTER_W1_ID_HASH_bits, 0)) << EDM_PIXELCLUSTER_W1_ID_HASH_lsb);
1916 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_PIXELCLUSTER_W1_SPARE_bits, 0)) << EDM_PIXELCLUSTER_W1_SPARE_lsb);
1917 return temp;
1918 }
1919
1921 uint64_t temp = 0;
1923 return temp;
1924 }
1925
1927 uint64_t temp = 0;
1929 return temp;
1930 }
1931
1933 uint64_t temp = 0;
1935 return temp;
1936 }
1937
1939 uint64_t temp = 0;
1941 return temp;
1942 }
1943
1953
1955 uint64_t temp = 0;
1958 temp |= (((static_cast<uint64_t>(in.omega_x)) & SELECTBITS(EDM_PIXELCLUSTER_W7_OMEGA_X_bits, 0)) << EDM_PIXELCLUSTER_W7_OMEGA_X_lsb);
1959 temp |= (((static_cast<uint64_t>(in.omega_y)) & SELECTBITS(EDM_PIXELCLUSTER_W7_OMEGA_Y_bits, 0)) << EDM_PIXELCLUSTER_W7_OMEGA_Y_lsb);
1960 return temp;
1961 }
1962
1964 uint64_t temp = 0;
1967 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(EDM_PIXELCLUSTER_W8_SPARE_bits, 0)) << EDM_PIXELCLUSTER_W8_SPARE_lsb);
1968 return temp;
1969 }
1970
1972 uint64_t temp = 0;
1974 return temp;
1975 }
1976
1978 uint64_t temp = 0;
1980 temp |= (((static_cast<uint64_t>(in.total_tot)) & SELECTBITS(EDM_PIXELCLUSTER_W10_TOTAL_TOT_bits, 0)) << EDM_PIXELCLUSTER_W10_TOTAL_TOT_lsb);
1981 temp |= (((static_cast<uint64_t>(in.lastword)) & SELECTBITS(EDM_PIXELCLUSTER_W10_LASTWORD_bits, 0)) << EDM_PIXELCLUSTER_W10_LASTWORD_lsb);
1982 temp |= (((static_cast<uint64_t>(in.index)) & SELECTBITS(EDM_PIXELCLUSTER_W10_INDEX_bits, 0)) << EDM_PIXELCLUSTER_W10_INDEX_lsb);
1983 return temp;
1984 }
1985
1986 inline EDM_PIXELCLUSTER_w1 fill_EDM_PIXELCLUSTER_w1 (const uint64_t& flag, const uint64_t& id_hash, const uint64_t& spare) {
1988 temp.flag = flag;
1989 temp.id_hash = id_hash;
1990 temp.spare = spare;
1991 return temp;
1992 }
1993
1994 inline EDM_PIXELCLUSTER_w2 fill_EDM_PIXELCLUSTER_w2 (const uint64_t& rdo_list_w1) {
1996 temp.rdo_list_w1 = rdo_list_w1;
1997 return temp;
1998 }
1999
2000 inline EDM_PIXELCLUSTER_w3 fill_EDM_PIXELCLUSTER_w3 (const uint64_t& rdo_list_w2) {
2002 temp.rdo_list_w2 = rdo_list_w2;
2003 return temp;
2004 }
2005
2006 inline EDM_PIXELCLUSTER_w4 fill_EDM_PIXELCLUSTER_w4 (const uint64_t& rdo_list_w3) {
2008 temp.rdo_list_w3 = rdo_list_w3;
2009 return temp;
2010 }
2011
2012 inline EDM_PIXELCLUSTER_w5 fill_EDM_PIXELCLUSTER_w5 (const uint64_t& rdo_list_w4) {
2014 temp.rdo_list_w4 = rdo_list_w4;
2015 return temp;
2016 }
2017
2018 inline EDM_PIXELCLUSTER_w6 fill_EDM_PIXELCLUSTER_w6 (const double& localposition_x, const double& localposition_y, const uint64_t& channels_in_phi, const uint64_t& channels_in_eta, const uint64_t& width_in_eta) {
2020 temp.localposition_x = (int64_t)(localposition_x * EDM_PIXELCLUSTER_W6_LOCALPOSITION_X_mf);
2021 temp.localposition_y = (int64_t)(localposition_y * EDM_PIXELCLUSTER_W6_LOCALPOSITION_Y_mf);
2022 temp.channels_in_phi = channels_in_phi;
2023 temp.channels_in_eta = channels_in_eta;
2024 temp.width_in_eta = width_in_eta;
2025 return temp;
2026 }
2027
2028 inline EDM_PIXELCLUSTER_w7 fill_EDM_PIXELCLUSTER_w7 (const double& localcovariance_xx, const double& localcovariance_yy, const double& omega_x, const double& omega_y) {
2030 temp.localcovariance_xx = (uint64_t)(localcovariance_xx * EDM_PIXELCLUSTER_W7_LOCALCOVARIANCE_XX_mf);
2031 temp.localcovariance_yy = (uint64_t)(localcovariance_yy * EDM_PIXELCLUSTER_W7_LOCALCOVARIANCE_YY_mf);
2032 temp.omega_x = (uint64_t)(omega_x * EDM_PIXELCLUSTER_W7_OMEGA_X_mf);
2033 temp.omega_y = (uint64_t)(omega_y * EDM_PIXELCLUSTER_W7_OMEGA_Y_mf);
2034 return temp;
2035 }
2036
2037 inline EDM_PIXELCLUSTER_w8 fill_EDM_PIXELCLUSTER_w8 (const double& globalposition_x, const double& globalposition_y, const uint64_t& spare) {
2039 temp.globalposition_x = (int64_t)(globalposition_x * EDM_PIXELCLUSTER_W8_GLOBALPOSITION_X_mf);
2040 temp.globalposition_y = (int64_t)(globalposition_y * EDM_PIXELCLUSTER_W8_GLOBALPOSITION_Y_mf);
2041 temp.spare = spare;
2042 return temp;
2043 }
2044
2045 inline EDM_PIXELCLUSTER_w9 fill_EDM_PIXELCLUSTER_w9 (const uint64_t& identifier) {
2047 temp.identifier = identifier;
2048 return temp;
2049 }
2050
2051 inline EDM_PIXELCLUSTER_w10 fill_EDM_PIXELCLUSTER_w10 (const double& globalposition_z, const uint64_t& total_tot, const uint64_t& lastword, const uint64_t& index) {
2053 temp.globalposition_z = (int64_t)(globalposition_z * EDM_PIXELCLUSTER_W10_GLOBALPOSITION_Z_mf);
2054 temp.total_tot = total_tot;
2055 temp.lastword = lastword;
2056 temp.index = index;
2057 return temp;
2058 }
2059
2060 inline uint64_t to_real_EDM_PIXELCLUSTER_w1_flag (const uint64_t& in) {
2061 return in;
2062 }
2063
2064 inline uint64_t to_real_EDM_PIXELCLUSTER_w1_id_hash (const uint64_t& in) {
2065 return in;
2066 }
2067
2068 inline uint64_t to_real_EDM_PIXELCLUSTER_w1_spare (const uint64_t& in) {
2069 return in;
2070 }
2071
2072 inline uint64_t to_real_EDM_PIXELCLUSTER_w2_rdo_list_w1 (const uint64_t& in) {
2073 return in;
2074 }
2075
2076 inline uint64_t to_real_EDM_PIXELCLUSTER_w3_rdo_list_w2 (const uint64_t& in) {
2077 return in;
2078 }
2079
2080 inline uint64_t to_real_EDM_PIXELCLUSTER_w4_rdo_list_w3 (const uint64_t& in) {
2081 return in;
2082 }
2083
2084 inline uint64_t to_real_EDM_PIXELCLUSTER_w5_rdo_list_w4 (const uint64_t& in) {
2085 return in;
2086 }
2087
2088 inline double to_real_EDM_PIXELCLUSTER_w6_localposition_x (const int64_t& in) {
2089 return (double)in / EDM_PIXELCLUSTER_W6_LOCALPOSITION_X_mf;
2090 }
2091
2092 inline double to_real_EDM_PIXELCLUSTER_w6_localposition_y (const int64_t& in) {
2093 return (double)in / EDM_PIXELCLUSTER_W6_LOCALPOSITION_Y_mf;
2094 }
2095
2096 inline uint64_t to_real_EDM_PIXELCLUSTER_w6_channels_in_phi (const uint64_t& in) {
2097 return in;
2098 }
2099
2100 inline uint64_t to_real_EDM_PIXELCLUSTER_w6_channels_in_eta (const uint64_t& in) {
2101 return in;
2102 }
2103
2104 inline uint64_t to_real_EDM_PIXELCLUSTER_w6_width_in_eta (const uint64_t& in) {
2105 return in;
2106 }
2107
2108 inline double to_real_EDM_PIXELCLUSTER_w7_localcovariance_xx (const uint64_t& in) {
2110 }
2111
2112 inline double to_real_EDM_PIXELCLUSTER_w7_localcovariance_yy (const uint64_t& in) {
2114 }
2115
2116 inline double to_real_EDM_PIXELCLUSTER_w7_omega_x (const uint64_t& in) {
2117 return (double)in / EDM_PIXELCLUSTER_W7_OMEGA_X_mf;
2118 }
2119
2120 inline double to_real_EDM_PIXELCLUSTER_w7_omega_y (const uint64_t& in) {
2121 return (double)in / EDM_PIXELCLUSTER_W7_OMEGA_Y_mf;
2122 }
2123
2124 inline double to_real_EDM_PIXELCLUSTER_w8_globalposition_x (const int64_t& in) {
2125 return (double)in / EDM_PIXELCLUSTER_W8_GLOBALPOSITION_X_mf;
2126 }
2127
2128 inline double to_real_EDM_PIXELCLUSTER_w8_globalposition_y (const int64_t& in) {
2129 return (double)in / EDM_PIXELCLUSTER_W8_GLOBALPOSITION_Y_mf;
2130 }
2131
2132 inline uint64_t to_real_EDM_PIXELCLUSTER_w8_spare (const uint64_t& in) {
2133 return in;
2134 }
2135
2136 inline uint64_t to_real_EDM_PIXELCLUSTER_w9_identifier (const uint64_t& in) {
2137 return in;
2138 }
2139
2140 inline double to_real_EDM_PIXELCLUSTER_w10_globalposition_z (const int64_t& in) {
2141 return (double)in / EDM_PIXELCLUSTER_W10_GLOBALPOSITION_Z_mf;
2142 }
2143
2144 inline uint64_t to_real_EDM_PIXELCLUSTER_w10_total_tot (const uint64_t& in) {
2145 return in;
2146 }
2147
2148 inline uint64_t to_real_EDM_PIXELCLUSTER_w10_lastword (const uint64_t& in) {
2149 return in;
2150 }
2151
2152 inline uint64_t to_real_EDM_PIXELCLUSTER_w10_index (const uint64_t& in) {
2153 return in;
2154 }
2155
2156 // PIXEL_EF_RDO word description
2159 const float PIXEL_EF_RDO_LAST_mf = 1.;
2160
2162 const int PIXEL_EF_RDO_ROW_lsb = 53;
2163 const float PIXEL_EF_RDO_ROW_mf = 1.;
2164
2166 const int PIXEL_EF_RDO_COL_lsb = 43;
2167 const float PIXEL_EF_RDO_COL_mf = 1.;
2168
2170 const int PIXEL_EF_RDO_TOT_lsb = 39;
2171 const float PIXEL_EF_RDO_TOT_mf = 1.;
2172
2175 const float PIXEL_EF_RDO_LVL1_mf = 1.;
2176
2179 const float PIXEL_EF_RDO_SPARE_mf = 1.;
2180
2189
2200
2201 inline uint64_t get_dataformat_PIXEL_EF_RDO (const PIXEL_EF_RDO& in) {
2202 uint64_t temp = 0;
2203 temp |= (((static_cast<uint64_t>(in.last)) & SELECTBITS(PIXEL_EF_RDO_LAST_bits, 0)) << PIXEL_EF_RDO_LAST_lsb);
2204 temp |= (((static_cast<uint64_t>(in.row)) & SELECTBITS(PIXEL_EF_RDO_ROW_bits, 0)) << PIXEL_EF_RDO_ROW_lsb);
2205 temp |= (((static_cast<uint64_t>(in.col)) & SELECTBITS(PIXEL_EF_RDO_COL_bits, 0)) << PIXEL_EF_RDO_COL_lsb);
2206 temp |= (((static_cast<uint64_t>(in.tot)) & SELECTBITS(PIXEL_EF_RDO_TOT_bits, 0)) << PIXEL_EF_RDO_TOT_lsb);
2207 temp |= (((static_cast<uint64_t>(in.lvl1)) & SELECTBITS(PIXEL_EF_RDO_LVL1_bits, 0)) << PIXEL_EF_RDO_LVL1_lsb);
2208 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(PIXEL_EF_RDO_SPARE_bits, 0)) << PIXEL_EF_RDO_SPARE_lsb);
2209 return temp;
2210 }
2211
2212 inline PIXEL_EF_RDO fill_PIXEL_EF_RDO (const uint64_t& last, const uint64_t& row, const uint64_t& col, const uint64_t& tot, const uint64_t& lvl1, const uint64_t& spare) {
2213 PIXEL_EF_RDO temp;
2214 temp.last = last;
2215 temp.row = row;
2216 temp.col = col;
2217 temp.tot = tot;
2218 temp.lvl1 = lvl1;
2219 temp.spare = spare;
2220 return temp;
2221 }
2222
2223 inline uint64_t to_real_PIXEL_EF_RDO_last (const uint64_t& in) {
2224 return in;
2225 }
2226
2227 inline uint64_t to_real_PIXEL_EF_RDO_row (const uint64_t& in) {
2228 return in;
2229 }
2230
2231 inline uint64_t to_real_PIXEL_EF_RDO_col (const uint64_t& in) {
2232 return in;
2233 }
2234
2235 inline uint64_t to_real_PIXEL_EF_RDO_tot (const uint64_t& in) {
2236 return in;
2237 }
2238
2239 inline uint64_t to_real_PIXEL_EF_RDO_lvl1 (const uint64_t& in) {
2240 return in;
2241 }
2242
2243 inline uint64_t to_real_PIXEL_EF_RDO_spare (const uint64_t& in) {
2244 return in;
2245 }
2246
2247 // STRIP_EF_RDO word description
2250 const float STRIP_EF_RDO_LAST_mf = 1.;
2251
2254 const float STRIP_EF_RDO_CHIPID_mf = 1.;
2255
2259
2263
2266 const float STRIP_EF_RDO_SPARE_mf = 1.;
2267
2275
2285
2286 inline uint64_t get_dataformat_STRIP_EF_RDO_up32 (const uint64_t& in) {
2287 return (in & SELECTBITS(32, 32)) >> 32;
2288 }
2289
2290 inline uint64_t get_dataformat_STRIP_EF_RDO_low32 (const uint64_t& in) {
2291 return (in & SELECTBITS(32, 0));
2292 }
2293
2294 inline uint64_t get_dataformat_STRIP_EF_RDO (const STRIP_EF_RDO& in) {
2295 uint64_t temp = 0;
2296 temp |= (((static_cast<uint64_t>(in.last)) & SELECTBITS(STRIP_EF_RDO_LAST_bits, 0)) << STRIP_EF_RDO_LAST_lsb);
2297 temp |= (((static_cast<uint64_t>(in.chipid)) & SELECTBITS(STRIP_EF_RDO_CHIPID_bits, 0)) << STRIP_EF_RDO_CHIPID_lsb);
2298 temp |= (((static_cast<uint64_t>(in.strip_num)) & SELECTBITS(STRIP_EF_RDO_STRIP_NUM_bits, 0)) << STRIP_EF_RDO_STRIP_NUM_lsb);
2299 temp |= (((static_cast<uint64_t>(in.cluster_map)) & SELECTBITS(STRIP_EF_RDO_CLUSTER_MAP_bits, 0)) << STRIP_EF_RDO_CLUSTER_MAP_lsb);
2300 temp |= (((static_cast<uint64_t>(in.spare)) & SELECTBITS(STRIP_EF_RDO_SPARE_bits, 0)) << STRIP_EF_RDO_SPARE_lsb);
2301 return temp;
2302 }
2303
2304 inline uint64_t get_dataformat_STRIP_EF_RDO_64 (const uint64_t& up, const uint64_t& low) {
2305 uint64_t temp = up << 32;
2306 return (temp | low);
2307 }
2308
2309 inline STRIP_EF_RDO fill_STRIP_EF_RDO (const uint64_t& last, const uint64_t& chipid, const uint64_t& strip_num, const uint64_t& cluster_map, const uint64_t& spare) {
2310 STRIP_EF_RDO temp;
2311 temp.last = last;
2312 temp.chipid = chipid;
2313 temp.strip_num = strip_num;
2314 temp.cluster_map = cluster_map;
2315 temp.spare = spare;
2316 return temp;
2317 }
2318
2319 inline uint64_t to_real_STRIP_EF_RDO_last (const uint64_t& in) {
2320 return in;
2321 }
2322
2323 inline uint64_t to_real_STRIP_EF_RDO_chipid (const uint64_t& in) {
2324 return in;
2325 }
2326
2327 inline uint64_t to_real_STRIP_EF_RDO_strip_num (const uint64_t& in) {
2328 return in;
2329 }
2330
2331 inline uint64_t to_real_STRIP_EF_RDO_cluster_map (const uint64_t& in) {
2332 return in;
2333 }
2334
2335 inline uint64_t to_real_STRIP_EF_RDO_spare (const uint64_t& in) {
2336 return in;
2337 }
2338
2339
2340 };
2341
2342 #undef SELECTBITS
2343
2344 #endif // EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATUTILITIES_H
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define z
static std::vector< uint32_t > runnumber
Definition iLumiCalc.h:37
uint64_t to_real_EDM_STRIPCLUSTER_w9_lastword(const uint64_t &in)
EDM_PIXELCLUSTER_w6 fill_EDM_PIXELCLUSTER_w6(const double &localposition_x, const double &localposition_y, const uint64_t &channels_in_phi, const uint64_t &channels_in_eta, const uint64_t &width_in_eta)
uint64_t to_real_EVT_HDR_w1_spare(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w1_spare(const uint64_t &in)
uint64_t get_dataformat_GTRACK_HDR_w2(const GTRACK_HDR_w2 &in)
uint64_t to_real_EVT_HDR_w3_status(const uint64_t &in)
uint64_t to_real_EVT_HDR_w1_l0id(const uint64_t &in)
uint64_t to_real_GHITZ_w2_cluster1(const uint64_t &in)
uint64_t to_real_EVT_HDR_w1_bcid(const uint64_t &in)
uint64_t to_real_STRIP_CLUSTER_last(const uint64_t &in)
PIXEL_EF_RDO fill_PIXEL_EF_RDO(const uint64_t &last, const uint64_t &row, const uint64_t &col, const uint64_t &tot, const uint64_t &lvl1, const uint64_t &spare)
EDM_STRIPCLUSTER_w2 fill_EDM_STRIPCLUSTER_w2(const uint64_t &rdo_list_w1)
uint64_t to_real_EDM_PIXELCLUSTER_w1_flag(const uint64_t &in)
uint64_t to_real_M_HDR_w1_modid(const uint64_t &in)
EDM_STRIPCLUSTER_w6 fill_EDM_STRIPCLUSTER_w6(const double &localposition_x, const double &localposition_y, const double &localcovariance_xx, const uint64_t &spare)
EVT_HDR_w2 fill_EVT_HDR_w2(const uint64_t &runnumber, const uint64_t &time)
struct FPGADataFormatUtilities::PIXEL_CLUSTER PIXEL_CLUSTER
double to_real_GTRACK_HDR_w2_d0(const int64_t &in)
uint64_t to_real_SLICE_HDR_w1_phi_region(const uint64_t &in)
PIXEL_EF_RDO get_bitfields_PIXEL_EF_RDO(const uint64_t &in)
uint64_t to_real_STRIP_CLUSTER_spare(const uint64_t &in)
STRIP_EF_RDO fill_STRIP_EF_RDO(const uint64_t &last, const uint64_t &chipid, const uint64_t &strip_num, const uint64_t &cluster_map, const uint64_t &spare)
uint64_t to_real_GTRACK_HDR_w3_spare(const uint64_t &in)
uint64_t to_real_PIXEL_CLUSTER_col(const uint64_t &in)
EDM_STRIPCLUSTER_w9 fill_EDM_STRIPCLUSTER_w9(const double &globalposition_z, const uint64_t &lastword, const uint64_t &index, const uint64_t &spare)
uint64_t to_real_RD_HDR_w2_spare(const uint64_t &in)
RD_HDR_w1 fill_RD_HDR_w1(const uint64_t &flag, const uint64_t &type, const uint64_t &eta_region, const uint64_t &phi_region, const uint64_t &slice, const uint64_t &hough_x_bin, const uint64_t &hough_y_bin, const uint64_t &second_stage, const uint64_t &layer_bitmask, const uint64_t &spare)
uint64_t get_dataformat_STRIP_EF_RDO_64(const uint64_t &up, const uint64_t &low)
uint64_t to_real_EDM_STRIPCLUSTER_w4_rdo_list_w3(const uint64_t &in)
EVT_FTR_w2 get_bitfields_EVT_FTR_w2(const uint64_t &in)
EDM_STRIPCLUSTER_w8 fill_EDM_STRIPCLUSTER_w8(const uint64_t &identifier)
EDM_STRIPCLUSTER_w4 get_bitfields_EDM_STRIPCLUSTER_w4(const uint64_t &in)
uint64_t to_real_STRIP_EF_RDO_spare(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w7_spare(const uint64_t &in)
uint64_t get_dataformat_GHITZ_w1(const GHITZ_w1 &in)
M_HDR_w1 get_bitfields_M_HDR_w1(const uint64_t &in)
uint64_t to_real_GTRACK_HDR_w1_second_stage(const uint64_t &in)
EDM_PIXELCLUSTER_w3 get_bitfields_EDM_PIXELCLUSTER_w3(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w3_rdo_list_w2(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w5_rdo_list_w4(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w9 EDM_PIXELCLUSTER_w9
STRIP_EF_RDO get_bitfields_STRIP_EF_RDO(const uint64_t &in)
uint64_t get_dataformat_STRIP_CLUSTER_64(const uint64_t &up, const uint64_t &low)
double to_real_EDM_PIXELCLUSTER_w8_globalposition_x(const int64_t &in)
uint64_t to_real_GHITZ_w2_cluster2(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w2 EDM_STRIPCLUSTER_w2
EDM_PIXELCLUSTER_w6 get_bitfields_EDM_PIXELCLUSTER_w6(const uint64_t &in)
EVT_HDR_w1 fill_EVT_HDR_w1(const uint64_t &flag, const uint64_t &l0id, const uint64_t &bcid, const uint64_t &spare)
double to_real_EDM_STRIPCLUSTER_w9_globalposition_z(const int64_t &in)
uint64_t to_real_GTRACK_HDR_w1_phi_region(const uint64_t &in)
uint64_t to_real_RD_HDR_w1_spare(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w6 EDM_PIXELCLUSTER_w6
EDM_STRIPCLUSTER_w1 get_bitfields_EDM_STRIPCLUSTER_w1(const uint64_t &in)
double to_real_EDM_STRIPCLUSTER_w6_localposition_x(const int64_t &in)
struct FPGADataFormatUtilities::M_HDR_w1 M_HDR_w1
EDM_STRIPCLUSTER_w8 get_bitfields_EDM_STRIPCLUSTER_w8(const uint64_t &in)
uint64_t get_dataformat_STRIP_EF_RDO_low32(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w4_rdo_list_w3(const uint64_t &in)
EDM_PIXELCLUSTER_w9 fill_EDM_PIXELCLUSTER_w9(const uint64_t &identifier)
uint64_t to_real_SLICE_HDR_w1_sliceid(const uint64_t &in)
struct FPGADataFormatUtilities::STRIP_CLUSTER STRIP_CLUSTER
uint64_t to_real_EVT_FTR_w3_word_count(const uint64_t &in)
double to_real_GTRACK_HDR_w2_z0(const int64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w9_index(const uint64_t &in)
struct FPGADataFormatUtilities::GTRACK_HDR_w2 GTRACK_HDR_w2
uint64_t to_real_EDM_STRIPCLUSTER_w6_spare(const uint64_t &in)
uint64_t to_real_GTRACK_HDR_w1_z_bin(const uint64_t &in)
double to_real_EDM_STRIPCLUSTER_w7_globalposition_x(const int64_t &in)
uint64_t to_real_PIXEL_CLUSTER_last(const uint64_t &in)
EDM_STRIPCLUSTER_w1 fill_EDM_STRIPCLUSTER_w1(const uint64_t &flag, const uint64_t &id_hash, const uint64_t &spare)
EVT_HDR_w2 get_bitfields_EVT_HDR_w2(const uint64_t &in)
GTRACK_HDR_w3 fill_GTRACK_HDR_w3(const double &qoverpt, const double &phi, const double &eta, const uint64_t &spare)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w8 EDM_PIXELCLUSTER_w8
uint64_t to_real_GHITZ_w1_lastofslice(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w8 EDM_STRIPCLUSTER_w8
EDM_PIXELCLUSTER_w3 fill_EDM_PIXELCLUSTER_w3(const uint64_t &rdo_list_w2)
uint64_t to_real_EDM_PIXELCLUSTER_w10_lastword(const uint64_t &in)
GTRACK_HDR_w3 get_bitfields_GTRACK_HDR_w3(const uint64_t &in)
uint64_t get_dataformat_EVT_FTR_w3(const EVT_FTR_w3 &in)
uint64_t to_real_EDM_PIXELCLUSTER_w1_id_hash(const uint64_t &in)
uint64_t to_real_GHITZ_w1_spare(const uint64_t &in)
struct FPGADataFormatUtilities::RD_HDR_w1 RD_HDR_w1
uint64_t to_real_GTRACK_HDR_w1_phi_bin(const uint64_t &in)
EDM_PIXELCLUSTER_w5 get_bitfields_EDM_PIXELCLUSTER_w5(const uint64_t &in)
EDM_PIXELCLUSTER_w8 fill_EDM_PIXELCLUSTER_w8(const double &globalposition_x, const double &globalposition_y, const uint64_t &spare)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w8(const EDM_PIXELCLUSTER_w8 &in)
int64_t to_real_GTRACK_HDR_w3_phi(const int64_t &in)
GTRACK_HDR_w2 fill_GTRACK_HDR_w2(const double &score, const double &d0, const double &z0, const uint64_t &spare)
EDM_STRIPCLUSTER_w5 get_bitfields_EDM_STRIPCLUSTER_w5(const uint64_t &in)
EDM_STRIPCLUSTER_w4 fill_EDM_STRIPCLUSTER_w4(const uint64_t &rdo_list_w3)
EDM_STRIPCLUSTER_w7 fill_EDM_STRIPCLUSTER_w7(const double &globalposition_x, const double &globalposition_y, const uint64_t &channels_in_phi, const uint64_t &spare)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w9 EDM_STRIPCLUSTER_w9
uint64_t to_real_STRIP_EF_RDO_chipid(const uint64_t &in)
uint64_t to_real_GHITZ_w1_lyr(const uint64_t &in)
EDM_PIXELCLUSTER_w5 fill_EDM_PIXELCLUSTER_w5(const uint64_t &rdo_list_w4)
uint64_t to_real_EVT_HDR_w3_crc(const uint64_t &in)
struct FPGADataFormatUtilities::GHITZ_w2 GHITZ_w2
uint64_t get_dataformat_EDM_STRIPCLUSTER_w3(const EDM_STRIPCLUSTER_w3 &in)
uint64_t to_real_GHITZ_w2_spare(const uint64_t &in)
EDM_STRIPCLUSTER_w9 get_bitfields_EDM_STRIPCLUSTER_w9(const uint64_t &in)
uint64_t to_real_SLICE_HDR_w1_spare(const uint64_t &in)
uint64_t get_dataformat_GTRACK_HDR_w3(const GTRACK_HDR_w3 &in)
double to_real_EDM_STRIPCLUSTER_w7_globalposition_y(const int64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w2 EDM_PIXELCLUSTER_w2
struct FPGADataFormatUtilities::PIXEL_EF_RDO PIXEL_EF_RDO
double to_real_PIXEL_CLUSTER_centroid_row(const uint64_t &in)
struct FPGADataFormatUtilities::EVT_HDR_w2 EVT_HDR_w2
uint64_t get_dataformat_EDM_STRIPCLUSTER_w5(const EDM_STRIPCLUSTER_w5 &in)
uint64_t to_real_PIXEL_EF_RDO_tot(const uint64_t &in)
struct FPGADataFormatUtilities::EVT_HDR_w3 EVT_HDR_w3
uint64_t get_dataformat_RD_HDR_w2(const RD_HDR_w2 &in)
double to_real_EDM_PIXELCLUSTER_w7_localcovariance_yy(const uint64_t &in)
EDM_PIXELCLUSTER_w2 get_bitfields_EDM_PIXELCLUSTER_w2(const uint64_t &in)
double to_real_EDM_PIXELCLUSTER_w7_localcovariance_xx(const uint64_t &in)
EDM_STRIPCLUSTER_w7 get_bitfields_EDM_STRIPCLUSTER_w7(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w10 EDM_PIXELCLUSTER_w10
EDM_STRIPCLUSTER_w2 get_bitfields_EDM_STRIPCLUSTER_w2(const uint64_t &in)
EVT_FTR_w2 fill_EVT_FTR_w2(const uint64_t &error_flags)
uint64_t get_dataformat_M_HDR_w1(const M_HDR_w1 &in)
uint64_t get_dataformat_EVT_FTR_w1(const EVT_FTR_w1 &in)
struct FPGADataFormatUtilities::EVT_HDR_w1 EVT_HDR_w1
struct FPGADataFormatUtilities::EVT_FTR_w1 EVT_FTR_w1
uint64_t to_real_EDM_PIXELCLUSTER_w6_width_in_eta(const uint64_t &in)
RD_HDR_w2 get_bitfields_RD_HDR_w2(const uint64_t &in)
double to_real_GHITZ_w1_phi(const int64_t &in)
EDM_PIXELCLUSTER_w8 get_bitfields_EDM_PIXELCLUSTER_w8(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w2(const EDM_PIXELCLUSTER_w2 &in)
double to_real_EDM_PIXELCLUSTER_w7_omega_x(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w8_spare(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w1 EDM_STRIPCLUSTER_w1
uint64_t to_real_GHITZ_w1_last(const uint64_t &in)
uint64_t get_dataformat_STRIP_CLUSTER_up32(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w1_flag(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w5_rdo_list_w4(const uint64_t &in)
struct FPGADataFormatUtilities::GHITZ_w1 GHITZ_w1
struct FPGADataFormatUtilities::GTRACK_HDR_w3 GTRACK_HDR_w3
uint64_t get_dataformat_EDM_PIXELCLUSTER_w9(const EDM_PIXELCLUSTER_w9 &in)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w6(const EDM_STRIPCLUSTER_w6 &in)
SLICE_HDR_w1 fill_SLICE_HDR_w1(const uint64_t &flag, const uint64_t &sliceid, const uint64_t &eta_region, const uint64_t &phi_region, const uint64_t &spare)
uint64_t to_real_RD_HDR_w2_global_eta(const uint64_t &in)
EDM_PIXELCLUSTER_w2 fill_EDM_PIXELCLUSTER_w2(const uint64_t &rdo_list_w1)
uint64_t get_dataformat_STRIP_EF_RDO_up32(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w6_channels_in_phi(const uint64_t &in)
uint64_t to_real_PIXEL_EF_RDO_spare(const uint64_t &in)
uint64_t to_real_PIXEL_EF_RDO_row(const uint64_t &in)
uint64_t to_real_RD_HDR_w1_hough_y_bin(const uint64_t &in)
RD_HDR_w2 fill_RD_HDR_w2(const uint64_t &global_phi, const uint64_t &global_eta, const uint64_t &spare)
GHITZ_w1 fill_GHITZ_w1(const uint64_t &last, const uint64_t &lyr, const double &rad, const double &phi, const double &z, const uint64_t &lastofslice, const uint64_t &spare)
GTRACK_HDR_w1 get_bitfields_GTRACK_HDR_w1(const uint64_t &in)
struct FPGADataFormatUtilities::EVT_FTR_w2 EVT_FTR_w2
uint64_t get_dataformat_EDM_STRIPCLUSTER_w1(const EDM_STRIPCLUSTER_w1 &in)
uint64_t to_real_M_HDR_w1_modhash(const uint64_t &in)
double to_real_EDM_PIXELCLUSTER_w6_localposition_x(const int64_t &in)
EDM_PIXELCLUSTER_w7 get_bitfields_EDM_PIXELCLUSTER_w7(const uint64_t &in)
M_HDR_w1 fill_M_HDR_w1(const uint64_t &flag, const uint64_t &modid, const uint64_t &modhash, const uint64_t &spare)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w7(const EDM_STRIPCLUSTER_w7 &in)
uint64_t to_real_GTRACK_HDR_w1_eta_region(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w4 EDM_PIXELCLUSTER_w4
PIXEL_CLUSTER get_bitfields_PIXEL_CLUSTER(const uint64_t &in)
uint64_t get_dataformat_EVT_HDR_w3(const EVT_HDR_w3 &in)
uint64_t get_dataformat_EVT_HDR_w2(const EVT_HDR_w2 &in)
uint64_t to_real_STRIP_CLUSTER_strip_index(const uint64_t &in)
struct FPGADataFormatUtilities::EVT_FTR_w3 EVT_FTR_w3
uint64_t to_real_STRIP_CLUSTER_nstrips(const uint64_t &in)
struct FPGADataFormatUtilities::STRIP_EF_RDO STRIP_EF_RDO
uint64_t to_real_EVT_HDR_w2_runnumber(const uint64_t &in)
uint64_t to_real_RD_HDR_w1_layer_bitmask(const uint64_t &in)
double to_real_GHITZ_w1_z(const int64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w7 EDM_STRIPCLUSTER_w7
EDM_STRIPCLUSTER_w5 fill_EDM_STRIPCLUSTER_w5(const uint64_t &rdo_list_w4)
EDM_PIXELCLUSTER_w10 fill_EDM_PIXELCLUSTER_w10(const double &globalposition_z, const uint64_t &total_tot, const uint64_t &lastword, const uint64_t &index)
EVT_FTR_w3 get_bitfields_EVT_FTR_w3(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w10_index(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w1 EDM_PIXELCLUSTER_w1
int64_t to_real_GTRACK_HDR_w3_qoverpt(const int64_t &in)
uint64_t to_real_STRIP_EF_RDO_last(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w3(const EDM_PIXELCLUSTER_w3 &in)
double to_real_EDM_PIXELCLUSTER_w6_localposition_y(const int64_t &in)
uint64_t to_real_PIXEL_EF_RDO_col(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w4 EDM_STRIPCLUSTER_w4
uint64_t to_real_GTRACK_HDR_w2_spare(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w9_spare(const uint64_t &in)
uint64_t to_real_RD_HDR_w1_hough_x_bin(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w6 EDM_STRIPCLUSTER_w6
struct FPGADataFormatUtilities::GTRACK_HDR_w1 GTRACK_HDR_w1
uint64_t to_real_GTRACK_HDR_w1_type(const uint64_t &in)
GTRACK_HDR_w1 fill_GTRACK_HDR_w1(const uint64_t &flag, const uint64_t &type, const uint64_t &eta_region, const uint64_t &phi_region, const uint64_t &phi_bin, const uint64_t &z_bin, const uint64_t &second_stage, const uint64_t &layer_bitmask)
EDM_PIXELCLUSTER_w1 fill_EDM_PIXELCLUSTER_w1(const uint64_t &flag, const uint64_t &id_hash, const uint64_t &spare)
uint64_t to_real_STRIP_EF_RDO_cluster_map(const uint64_t &in)
uint64_t to_real_EVT_HDR_w1_flag(const uint64_t &in)
uint64_t to_real_SLICE_HDR_w1_flag(const uint64_t &in)
EVT_HDR_w3 get_bitfields_EVT_HDR_w3(const uint64_t &in)
double to_real_EDM_PIXELCLUSTER_w8_globalposition_y(const int64_t &in)
double to_real_GHITZ_w1_rad(const uint64_t &in)
uint64_t to_real_EVT_FTR_w3_crc(const uint64_t &in)
GHITZ_w2 fill_GHITZ_w2(const uint64_t &cluster1, const uint64_t &cluster2, const uint64_t &row, const uint64_t &spare)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w7(const EDM_PIXELCLUSTER_w7 &in)
EVT_HDR_w1 get_bitfields_EVT_HDR_w1(const uint64_t &in)
double to_real_EDM_STRIPCLUSTER_w6_localposition_y(const int64_t &in)
uint64_t get_dataformat_SLICE_HDR_w1(const SLICE_HDR_w1 &in)
EDM_STRIPCLUSTER_w6 get_bitfields_EDM_STRIPCLUSTER_w6(const uint64_t &in)
uint64_t get_dataformat_PIXEL_EF_RDO(const PIXEL_EF_RDO &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w5 EDM_STRIPCLUSTER_w5
uint64_t to_real_RD_HDR_w1_type(const uint64_t &in)
EDM_STRIPCLUSTER_w3 fill_EDM_STRIPCLUSTER_w3(const uint64_t &rdo_list_w2)
GHITZ_w1 get_bitfields_GHITZ_w1(const uint64_t &in)
EDM_PIXELCLUSTER_w4 get_bitfields_EDM_PIXELCLUSTER_w4(const uint64_t &in)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w9(const EDM_STRIPCLUSTER_w9 &in)
SLICE_HDR_w1 get_bitfields_SLICE_HDR_w1(const uint64_t &in)
STRIP_CLUSTER fill_STRIP_CLUSTER(const uint64_t &last, const uint64_t &row, const uint64_t &nstrips, const uint64_t &strip_index, const uint64_t &spare)
uint64_t to_real_EDM_STRIPCLUSTER_w1_spare(const uint64_t &in)
EVT_FTR_w1 fill_EVT_FTR_w1(const uint64_t &flag, const uint64_t &spare, const uint64_t &hdr_crc)
uint64_t to_real_PIXEL_EF_RDO_last(const uint64_t &in)
double to_real_EDM_PIXELCLUSTER_w7_omega_y(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w10(const EDM_PIXELCLUSTER_w10 &in)
uint64_t to_real_RD_HDR_w1_eta_region(const uint64_t &in)
const float EDM_PIXELCLUSTER_W7_LOCALCOVARIANCE_YY_mf
EVT_FTR_w1 get_bitfields_EVT_FTR_w1(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w5(const EDM_PIXELCLUSTER_w5 &in)
EDM_PIXELCLUSTER_w9 get_bitfields_EDM_PIXELCLUSTER_w9(const uint64_t &in)
const float EDM_STRIPCLUSTER_W6_LOCALCOVARIANCE_XX_mf
uint64_t to_real_PIXEL_CLUSTER_row(const uint64_t &in)
uint64_t to_real_M_HDR_w1_spare(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w4(const EDM_PIXELCLUSTER_w4 &in)
uint64_t to_real_EDM_STRIPCLUSTER_w7_channels_in_phi(const uint64_t &in)
uint64_t to_real_PIXEL_EF_RDO_lvl1(const uint64_t &in)
GTRACK_HDR_w2 get_bitfields_GTRACK_HDR_w2(const uint64_t &in)
double to_real_PIXEL_CLUSTER_centroid_col(const uint64_t &in)
PIXEL_CLUSTER fill_PIXEL_CLUSTER(const uint64_t &last, const uint64_t &col, const uint64_t &row, const double &centroid_col, const double &centroid_row, const uint64_t &spare)
uint64_t get_dataformat_GTRACK_HDR_w1(const GTRACK_HDR_w1 &in)
uint64_t to_real_RD_HDR_w2_global_phi(const uint64_t &in)
double to_real_GTRACK_HDR_w2_score(const uint64_t &in)
EDM_PIXELCLUSTER_w4 fill_EDM_PIXELCLUSTER_w4(const uint64_t &rdo_list_w3)
struct FPGADataFormatUtilities::SLICE_HDR_w1 SLICE_HDR_w1
uint64_t to_real_RD_HDR_w1_second_stage(const uint64_t &in)
uint64_t to_real_EVT_FTR_w1_hdr_crc(const uint64_t &in)
uint64_t to_real_EVT_FTR_w1_spare(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w3 EDM_PIXELCLUSTER_w3
STRIP_CLUSTER get_bitfields_STRIP_CLUSTER(const uint64_t &in)
uint64_t to_real_EVT_FTR_w1_flag(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w2_rdo_list_w1(const uint64_t &in)
uint64_t get_dataformat_PIXEL_CLUSTER(const PIXEL_CLUSTER &in)
uint64_t to_real_PIXEL_CLUSTER_spare(const uint64_t &in)
uint64_t get_dataformat_STRIP_EF_RDO(const STRIP_EF_RDO &in)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w4(const EDM_STRIPCLUSTER_w4 &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w6(const EDM_PIXELCLUSTER_w6 &in)
int64_t to_real_GTRACK_HDR_w3_eta(const int64_t &in)
EVT_HDR_w3 fill_EVT_HDR_w3(const uint64_t &status, const uint64_t &crc)
uint64_t to_real_GTRACK_HDR_w1_flag(const uint64_t &in)
uint64_t to_real_GHITZ_w2_row(const uint64_t &in)
uint64_t to_real_RD_HDR_w1_phi_region(const uint64_t &in)
EDM_PIXELCLUSTER_w7 fill_EDM_PIXELCLUSTER_w7(const double &localcovariance_xx, const double &localcovariance_yy, const double &omega_x, const double &omega_y)
EDM_PIXELCLUSTER_w1 get_bitfields_EDM_PIXELCLUSTER_w1(const uint64_t &in)
uint64_t to_real_M_HDR_w1_flag(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w7 EDM_PIXELCLUSTER_w7
uint64_t to_real_RD_HDR_w1_flag(const uint64_t &in)
const float EDM_PIXELCLUSTER_W7_LOCALCOVARIANCE_XX_mf
GHITZ_w2 get_bitfields_GHITZ_w2(const uint64_t &in)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w8(const EDM_STRIPCLUSTER_w8 &in)
uint64_t to_real_EDM_PIXELCLUSTER_w10_total_tot(const uint64_t &in)
uint64_t get_dataformat_GHITZ_w2(const GHITZ_w2 &in)
uint64_t get_dataformat_EDM_STRIPCLUSTER_w2(const EDM_STRIPCLUSTER_w2 &in)
uint64_t to_real_GTRACK_HDR_w1_layer_bitmask(const uint64_t &in)
uint64_t get_dataformat_STRIP_CLUSTER(const STRIP_CLUSTER &in)
uint64_t to_real_EDM_STRIPCLUSTER_w2_rdo_list_w1(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w1_id_hash(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w9_identifier(const uint64_t &in)
uint64_t get_dataformat_EVT_FTR_w2(const EVT_FTR_w2 &in)
struct FPGADataFormatUtilities::EDM_STRIPCLUSTER_w3 EDM_STRIPCLUSTER_w3
struct FPGADataFormatUtilities::RD_HDR_w2 RD_HDR_w2
uint64_t to_real_EVT_FTR_w2_error_flags(const uint64_t &in)
struct FPGADataFormatUtilities::EDM_PIXELCLUSTER_w5 EDM_PIXELCLUSTER_w5
double to_real_EDM_PIXELCLUSTER_w10_globalposition_z(const int64_t &in)
RD_HDR_w1 get_bitfields_RD_HDR_w1(const uint64_t &in)
uint64_t get_dataformat_EVT_HDR_w1(const EVT_HDR_w1 &in)
uint64_t to_real_STRIP_EF_RDO_strip_num(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w6_channels_in_eta(const uint64_t &in)
double to_real_EDM_STRIPCLUSTER_w6_localcovariance_xx(const uint64_t &in)
uint64_t get_dataformat_STRIP_CLUSTER_low32(const uint64_t &in)
uint64_t to_real_SLICE_HDR_w1_eta_region(const uint64_t &in)
uint64_t get_dataformat_EDM_PIXELCLUSTER_w1(const EDM_PIXELCLUSTER_w1 &in)
consteval uint64_t SELECTBITS(uint8_t len, uint8_t startbit)
uint64_t to_real_RD_HDR_w1_slice(const uint64_t &in)
EDM_PIXELCLUSTER_w10 get_bitfields_EDM_PIXELCLUSTER_w10(const uint64_t &in)
uint64_t to_real_EDM_STRIPCLUSTER_w8_identifier(const uint64_t &in)
uint64_t get_dataformat_RD_HDR_w1(const RD_HDR_w1 &in)
EVT_FTR_w3 fill_EVT_FTR_w3(const uint64_t &word_count, const uint64_t &crc)
uint64_t to_real_EVT_HDR_w2_time(const uint64_t &in)
uint64_t to_real_EDM_PIXELCLUSTER_w3_rdo_list_w2(const uint64_t &in)
uint64_t to_real_STRIP_CLUSTER_row(const uint64_t &in)
EDM_STRIPCLUSTER_w3 get_bitfields_EDM_STRIPCLUSTER_w3(const uint64_t &in)
Definition index.py:1