Project
Loading...
Searching...
No Matches
RAWDataHeader.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef ALICEO2_HEADER_RAWDATAHEADER_H
13#define ALICEO2_HEADER_RAWDATAHEADER_H
14
18
19#ifndef GPUCA_GPUCODE_DEVICE
20#include <cstdint>
21#endif
22
23namespace o2
24{
25namespace header
26{
27
36
49//
72 union {
73 // default value
74 uint64_t word0 = 0x00000000ffff4007;
75 // | | | version 67
76 // | | | 8x64 bit words = 64 (0x40) byte
77 // | | invalid FEE id
78 // | priority bit 0
79 struct {
86 };
87 };
88 union {
90 struct {
97 };
98 };
99 union {
101 struct {
105 };
106 };
107 union {
109 struct {
114 };
115 };
116 union {
118 struct {
123 };
124 };
125 union {
127 };
128 union {
130 struct {
134 };
135 };
136 union {
138 };
139};
140
145//
167 union {
168 // default value
169 uint64_t word0 = 0x00000000ffff4006;
170 // | | | version 6
171 // | | | 8x64 bit words = 64 (0x40) byte
172 // | | invalid FEE id
173 // | priority bit 0
174 struct {
181 };
182 };
183 union {
185 struct {
192 };
193 };
194 union {
196 struct {
200 };
201 };
202 union {
204 };
205 union {
207 struct {
212 };
213 };
214 union {
216 };
217 union {
219 struct {
223 };
224 };
225 union {
227 };
228};
229
260 union {
261 // default value
262 uint64_t word0 = 0x00000000ffff4005;
263 // | | | version 5
264 // | | | 8x64 bit words = 64 (0x40) byte
265 // | | invalid FEE id
266 // | priority bit 0
267 struct {
273 };
274 };
275 union {
277 struct {
284 };
285 };
286 union {
288 struct {
292 };
293 };
294 union {
296 };
297 union {
299 struct {
304 };
305 };
306 union {
308 };
309 union {
311 struct {
315 };
316 };
317 union {
319 };
320};
321
383 union {
384 // default value
385 uint64_t word0 = 0x0000ffff00004004;
386 // | | | | | version 4
387 // | | | | | 8x64 bit words
388 // | | | | block length 0
389 // | | invalid FEE id
390 // | priority bit 0
391 struct {
398 };
399 };
400 union {
402 struct {
409 };
410 };
411 union {
413 struct {
416 };
417 };
418 union {
420 };
421 union {
423 struct {
429 };
430 };
431 union {
433 };
434 union {
436 struct {
442 };
443 };
444 union {
446 };
447};
448
479 union {
480 // default value
481 uint64_t word0 = 0x0004ffffff000002;
482 // | | | | | version 2
483 // | | | | block length 0
484 // | | | invalid FEE id
485 // | | invalid link id
486 // | header size 4 x 64 bit
487 struct {
494 };
495 };
496 union {
498 struct {
501 };
502 };
503 union {
505 struct {
510 };
511 };
512 union {
514 struct {
520 };
521 };
522};
523
524using RAWDataHeader = RAWDataHeaderV7; // default version
525using RDHLowest = RAWDataHeaderV4; // link this to lowest version
526using RDHHighest = RAWDataHeaderV7; // link this to highest version
527
528} // namespace header
529} // namespace o2
530
531#endif // ALICEO2_HEADER_RAWDATAHEADER_H
unsigned short int uint16_t
std::vector< std::string > header
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char Directory with events to Events directory is and not inside events Show standalone event Run event generator maximum time bin of continuous for triggered for automatic continuous for automatic continuous triggered uint64_t
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
uint64_t zero0
bit 48 to 55: header size
uint64_t zero3
bit 40 to 55: par
uint64_t blockLength
bit 0 to 8: header version
uint64_t feeId
bit 9 to 23: block length
uint32_t heartbeatOrbit
bit 0 to 31: trigger orbit
uint64_t headerSize
bit 40 to 47: link identifier
uint64_t detectorField
bit 13 to 23: stop code
uint64_t zero2
bit 44 to 55: heartbeat BC ID
uint64_t linkId
bit 24 to 39: FEE identifier
uint64_t triggerType
bit 0 to 11: trigger BC ID
uint64_t par
bit 24 to 39: detector field
uint64_t heartbeatBC
bit 12 to 43: trigger type
uint64_t stop
bit 0 to 15: pages counter
uint8_t endPointID
bit 112 to 123: CRU ID
uint8_t linkID
bit 80 to 95: memory size
uint64_t stop
bit 48 to 63: par
uint64_t pageCnt
bit 0 to 7: stop code
uint64_t zero0
bit 48 to 55: priority bit
uint64_t priority
bit 32 to 47: FEE identifier
uint64_t zero42
bit 48 to 59: heartbeat BC ID
uint64_t blockLength
bit 8 to 15: header size
uint16_t cruID
bit 104 to 111: packet counter
uint64_t triggerType
bit 60 to 63: zeroed
uint8_t packetCounter
bit 96 to 103: link id
uint64_t zero6
bit 8 to 23: pages counter
uint64_t heartbeatBC
bit 44 to 47: zeroed
uint64_t headerSize
bit 0 to 7: header version
uint64_t feeId
bit 16 to 31: block length
uint64_t zero41
bit 32 to 43: trigger BC ID
uint32_t heartbeatOrbit
bit 0 to 31: trigger orbit
uint32_t memorySize
bit 64 to 79: offset to next packet in memory
uint64_t par
bit 32 to 47: detector field
uint32_t reserved2
bit 0 to 11: bunch crossing counter
uint64_t pageCnt
bit 0 to 31: trigger type
uint32_t endPointID
bit 112 to 123: CRU ID
uint64_t priority
bit 16 to 31: FEE identifier
uint32_t memorySize
bit 64 to 79: offset to next packet in memory
uint64_t stop
bit 32 to 47: pages counter
uint64_t detectorPAR
bit 0 to 31: detector field
uint32_t linkID
bit 80 to 95: memory size
uint32_t packetCounter
bit 96 to 103: link id
uint64_t zero0
bit 32 to 39: priority bit
uint64_t zero6
bit 32 to 47: detector PAR (Pause and Reset)
uint64_t feeId
bit 8 to 15: header size
uint64_t headerSize
bit 0 to 7: header version
uint32_t orbit
bit 12 to 31: reserved
uint16_t cruID
bit 104 to 111: packet counter
uint64_t zero4
bit 48 to 53: stop code
uint32_t endPointID
bit 112 to 123: CRU ID
uint32_t packetCounter
bit 96 to 103: link id
uint32_t orbit
bit 12 to 31: reserved
uint32_t reserved2
bit 0 to 11: bunch crossing counter
uint32_t linkID
bit 80 to 95: memory size
uint64_t stop
bit 32 to 47: pages counter
uint64_t sourceID
bit 32 to 39: priority bit
uint64_t feeId
bit 8 to 15: header size
uint64_t headerSize
bit 0 to 7: header version
uint64_t zero6
bit 32 to 47: detector PAR (Pause and Reset)
uint64_t zero0
bit 40 to 47: source ID
uint64_t priority
bit 16 to 31: FEE identifier
uint64_t detectorPAR
bit 0 to 31: detector field
uint64_t pageCnt
bit 0 to 31: trigger type
uint32_t memorySize
bit 64 to 79: offset to next packet in memory
uint16_t cruID
bit 104 to 111: packet counter
uint64_t zero4
bit 48 to 53: stop code
uint32_t orbit
bit 12 to 31: reserved
uint32_t endPointID
bit 112 to 123: CRU ID
uint64_t zero6
bit 32 to 47: detector PAR (Pause and Reset)
uint32_t packetCounter
bit 96 to 103: link id
uint64_t detectorPAR
bit 0 to 31: detector field
uint64_t sourceID
bit 32 to 39: priority bit
uint32_t linkID
bit 80 to 95: memory size
uint16_t cruID
bit 104 to 111: packet counter
uint64_t stop
bit 32 to 47: pages counter
uint32_t memorySize
bit 64 to 79: offset to next packet in memory
uint64_t headerSize
bit 0 to 7: header version
uint64_t zero4
bit 48 to 53: stop code
uint64_t priority
bit 16 to 31: FEE identifier
uint32_t reserved2
bit 0 to 11: bunch crossing counter
uint64_t zero0
bit 40 to 47: source ID
uint64_t feeId
bit 8 to 15: header size
uint64_t pageCnt
bit 0 to 31: trigger type