![]() |
Project
|
#include <RAWDataHeader.h>
Public Attributes | ||
union { | ||
uint64_t word0 = 0x00000000ffff4007 | ||
struct { | ||
uint64_t version: 8 | ||
uint64_t headerSize: 8 | ||
bit 0 to 7: header version More... | ||
uint64_t feeId: 16 | ||
bit 8 to 15: header size More... | ||
uint64_t priority: 8 | ||
bit 16 to 31: FEE identifier More... | ||
uint64_t sourceID: 8 | ||
bit 32 to 39: priority bit More... | ||
uint64_t zero0: 16 | ||
bit 40 to 47: source ID More... | ||
} | ||
}; | ||
union { | ||
uint64_t word1 = 0x0 | ||
struct { | ||
uint32_t offsetToNext: 16 | ||
uint32_t memorySize: 16 | ||
bit 64 to 79: offset to next packet in memory More... | ||
uint32_t linkID: 8 | ||
bit 80 to 95: memory size More... | ||
uint32_t packetCounter: 8 | ||
bit 96 to 103: link id More... | ||
uint16_t cruID: 12 | ||
bit 104 to 111: packet counter More... | ||
uint32_t endPointID: 4 | ||
bit 112 to 123: CRU ID More... | ||
} | ||
data written by the CRU | ||
}; | ||
union { | ||
uint64_t word2 = 0x0 | ||
struct { | ||
uint32_t bunchCrossing: 12 | ||
uint32_t reserved2: 20 | ||
bit 0 to 11: bunch crossing counter More... | ||
uint32_t orbit | ||
bit 12 to 31: reserved More... | ||
} | ||
}; | ||
union { | ||
uint64_t word3 = 0x0 | ||
struct { | ||
uint32_t dataFormat: 8 | ||
uint64_t zero3: 56 | ||
} | ||
}; | ||
union { | ||
uint64_t word4 = 0x0 | ||
struct { | ||
uint64_t triggerType: 32 | ||
uint64_t pageCnt: 16 | ||
bit 0 to 31: trigger type More... | ||
uint64_t stop: 8 | ||
bit 32 to 47: pages counter More... | ||
uint64_t zero4: 8 | ||
bit 48 to 53: stop code More... | ||
} | ||
}; | ||
union { | ||
uint64_t word5 = 0x0 | ||
}; | ||
union { | ||
uint64_t word6 = 0x0 | ||
struct { | ||
uint64_t detectorField: 32 | ||
uint64_t detectorPAR: 16 | ||
bit 0 to 31: detector field More... | ||
uint64_t zero6: 16 | ||
bit 32 to 47: detector PAR (Pause and Reset) More... | ||
} | ||
}; | ||
union { | ||
uint64_t word7 = 0x0 | ||
}; | ||
The definition of the RAW Data Header is specified in https://docs.google.com/document/d/1IxCCa1ZRpI3J9j3KCmw2htcOLIRVVdEcO-DDPcLNFM0 Every 8kB readout page starts with the RDH.
Note: the definition requires little endian architecture, for the moment we assume that this is the only type the software has to support (based on experience with previous systems) The definition of the RAW Data Header is specified in https://docs.google.com/document/d/1IxCCa1ZRpI3J9j3KCmw2htcOLIRVVdEcO-DDPcLNFM0 Every 8kB readout page starts with the RDH.
Note: the definition requires little endian architecture, for the moment we assume that this is the only type the software has to support (based on experience with previous systems)
RAWDataHeaderV7 V7 introduces a detector source ID field Description of the fields can be found here https://gitlab.cern.ch/AliceO2Group/wp6-doc/-/blob/master/rdh/RDHv7.md
63 56 48 40 32 24 16 8 0 |---------------|---------------|---------------|---------------| | reserved | priori| | header |
0 | reserve zero |Source | ty bit| FEE id | size |version|
1 |ep | cru id |pcount|link id | memory size |offset nxt pack|
2 | orbit | reserved |bunch cross | | data 3 | reserved | format|
4 | zero | stop | page count | trigger type |
5 | reserved |
6 | zero | detector par | detector field |
5 | reserved |
Definition at line 71 of file RAWDataHeader.h.
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
union { ... } o2::header::RAWDataHeaderV7 |
uint32_t o2::header::RAWDataHeaderV7::bunchCrossing |
Definition at line 102 of file RAWDataHeader.h.
uint16_t o2::header::RAWDataHeaderV7::cruID |
bit 104 to 111: packet counter
Definition at line 95 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::dataFormat |
Definition at line 110 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::detectorField |
Definition at line 131 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::detectorPAR |
bit 0 to 31: detector field
Definition at line 132 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::endPointID |
bit 112 to 123: CRU ID
Definition at line 96 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::feeId |
bit 8 to 15: header size
Definition at line 82 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::headerSize |
bit 0 to 7: header version
Definition at line 81 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::linkID |
bit 80 to 95: memory size
Definition at line 93 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::memorySize |
bit 64 to 79: offset to next packet in memory
Definition at line 92 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::offsetToNext |
Definition at line 91 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::orbit |
bit 12 to 31: reserved
Definition at line 104 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::packetCounter |
bit 96 to 103: link id
Definition at line 94 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::pageCnt |
bit 0 to 31: trigger type
Definition at line 120 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::priority |
bit 16 to 31: FEE identifier
Definition at line 83 of file RAWDataHeader.h.
uint32_t o2::header::RAWDataHeaderV7::reserved2 |
bit 0 to 11: bunch crossing counter
Definition at line 103 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::sourceID |
bit 32 to 39: priority bit
Definition at line 84 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::stop |
bit 32 to 47: pages counter
Definition at line 121 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::triggerType |
Definition at line 119 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::version |
Definition at line 80 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word0 = 0x00000000ffff4007 |
Definition at line 74 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word1 = 0x0 |
Definition at line 89 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word2 = 0x0 |
Definition at line 100 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word3 = 0x0 |
Definition at line 108 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word4 = 0x0 |
Definition at line 117 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word5 = 0x0 |
Definition at line 126 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word6 = 0x0 |
Definition at line 129 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::word7 = 0x0 |
Definition at line 137 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::zero0 |
bit 40 to 47: source ID
Definition at line 85 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::zero3 |
bit 0 to 7: data format: 0: padded (48 bit of padding + 80 bit of data) 1: no padding, TOF LIKE (word#1 64 bit + word#0 64 bit = 128 bit) 2: no padding, ITS/MFT like (appending words of 80 bit to build 128 bit)
Definition at line 113 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::zero4 |
bit 48 to 53: stop code
Definition at line 122 of file RAWDataHeader.h.
uint64_t o2::header::RAWDataHeaderV7::zero6 |
bit 32 to 47: detector PAR (Pause and Reset)
Definition at line 133 of file RAWDataHeader.h.