Project
Loading...
Searching...
No Matches
o2::header::RAWDataHeaderV7 Struct Reference

#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 
 
};  
 

Detailed Description

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.

Member Data Documentation

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ bunchCrossing

uint32_t o2::header::RAWDataHeaderV7::bunchCrossing

Definition at line 102 of file RAWDataHeader.h.

◆ cruID

uint16_t o2::header::RAWDataHeaderV7::cruID

bit 104 to 111: packet counter

Definition at line 95 of file RAWDataHeader.h.

◆ dataFormat

uint32_t o2::header::RAWDataHeaderV7::dataFormat

Definition at line 110 of file RAWDataHeader.h.

◆ detectorField

uint64_t o2::header::RAWDataHeaderV7::detectorField

Definition at line 131 of file RAWDataHeader.h.

◆ detectorPAR

uint64_t o2::header::RAWDataHeaderV7::detectorPAR

bit 0 to 31: detector field

Definition at line 132 of file RAWDataHeader.h.

◆ endPointID

uint32_t o2::header::RAWDataHeaderV7::endPointID

bit 112 to 123: CRU ID

Definition at line 96 of file RAWDataHeader.h.

◆ feeId

uint64_t o2::header::RAWDataHeaderV7::feeId

bit 8 to 15: header size

Definition at line 82 of file RAWDataHeader.h.

◆ headerSize

uint64_t o2::header::RAWDataHeaderV7::headerSize

bit 0 to 7: header version

Definition at line 81 of file RAWDataHeader.h.

◆ linkID

uint32_t o2::header::RAWDataHeaderV7::linkID

bit 80 to 95: memory size

Definition at line 93 of file RAWDataHeader.h.

◆ memorySize

uint32_t o2::header::RAWDataHeaderV7::memorySize

bit 64 to 79: offset to next packet in memory

Definition at line 92 of file RAWDataHeader.h.

◆ offsetToNext

uint32_t o2::header::RAWDataHeaderV7::offsetToNext

Definition at line 91 of file RAWDataHeader.h.

◆ orbit

uint32_t o2::header::RAWDataHeaderV7::orbit

bit 12 to 31: reserved

Definition at line 104 of file RAWDataHeader.h.

◆ packetCounter

uint32_t o2::header::RAWDataHeaderV7::packetCounter

bit 96 to 103: link id

Definition at line 94 of file RAWDataHeader.h.

◆ pageCnt

uint64_t o2::header::RAWDataHeaderV7::pageCnt

bit 0 to 31: trigger type

Definition at line 120 of file RAWDataHeader.h.

◆ priority

uint64_t o2::header::RAWDataHeaderV7::priority

bit 16 to 31: FEE identifier

Definition at line 83 of file RAWDataHeader.h.

◆ reserved2

uint32_t o2::header::RAWDataHeaderV7::reserved2

bit 0 to 11: bunch crossing counter

Definition at line 103 of file RAWDataHeader.h.

◆ sourceID

uint64_t o2::header::RAWDataHeaderV7::sourceID

bit 32 to 39: priority bit

Definition at line 84 of file RAWDataHeader.h.

◆ stop

uint64_t o2::header::RAWDataHeaderV7::stop

bit 32 to 47: pages counter

Definition at line 121 of file RAWDataHeader.h.

◆ triggerType

uint64_t o2::header::RAWDataHeaderV7::triggerType

Definition at line 119 of file RAWDataHeader.h.

◆ version

uint64_t o2::header::RAWDataHeaderV7::version

Definition at line 80 of file RAWDataHeader.h.

◆ word0

uint64_t o2::header::RAWDataHeaderV7::word0 = 0x00000000ffff4007

Definition at line 74 of file RAWDataHeader.h.

◆ word1

uint64_t o2::header::RAWDataHeaderV7::word1 = 0x0

Definition at line 89 of file RAWDataHeader.h.

◆ word2

uint64_t o2::header::RAWDataHeaderV7::word2 = 0x0

Definition at line 100 of file RAWDataHeader.h.

◆ word3

uint64_t o2::header::RAWDataHeaderV7::word3 = 0x0

Definition at line 108 of file RAWDataHeader.h.

◆ word4

uint64_t o2::header::RAWDataHeaderV7::word4 = 0x0

Definition at line 117 of file RAWDataHeader.h.

◆ word5

uint64_t o2::header::RAWDataHeaderV7::word5 = 0x0

Definition at line 126 of file RAWDataHeader.h.

◆ word6

uint64_t o2::header::RAWDataHeaderV7::word6 = 0x0

Definition at line 129 of file RAWDataHeader.h.

◆ word7

uint64_t o2::header::RAWDataHeaderV7::word7 = 0x0

Definition at line 137 of file RAWDataHeader.h.

◆ zero0

uint64_t o2::header::RAWDataHeaderV7::zero0

bit 40 to 47: source ID

Definition at line 85 of file RAWDataHeader.h.

◆ zero3

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.

◆ zero4

uint64_t o2::header::RAWDataHeaderV7::zero4

bit 48 to 53: stop code

Definition at line 122 of file RAWDataHeader.h.

◆ zero6

uint64_t o2::header::RAWDataHeaderV7::zero6

bit 32 to 47: detector PAR (Pause and Reset)

Definition at line 133 of file RAWDataHeader.h.


The documentation for this struct was generated from the following file: