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

#include <RAWDataHeader.h>

Public Attributes

union { 
 
   uint64_t   word0 = 0x0000ffff00004004 
 
   struct { 
 
      uint64_t   version: 8 
 
      uint64_t   headerSize: 8 
 bit 0 to 7: header version More...
 
      uint64_t   blockLength: 16 
 bit 8 to 15: header size More...
 
      uint64_t   feeId: 16 
 bit 16 to 31: block length More...
 
      uint64_t   priority: 8 
 bit 32 to 47: FEE identifier More...
 
      uint64_t   zero0: 8 
 bit 48 to 55: priority bit 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...
 
      uint8_t   linkID: 8 
 bit 80 to 95: memory size More...
 
      uint8_t   packetCounter: 8 
 bit 96 to 103: link id More...
 
      uint16_t   cruID: 12 
 bit 104 to 111: packet counter More...
 
      uint8_t   endPointID: 4 
 bit 112 to 123: CRU ID More...
 
   }  
 data written by the CRU
 
};  
 
union { 
 
   uint64_t   word2 = 0x0 
 
   struct { 
 
      uint32_t   triggerOrbit 
 
      uint32_t   heartbeatOrbit 
 bit 0 to 31: trigger orbit More...
 
   }  
 
};  
 
union { 
 
   uint64_t   word3 = 0x0 
 
};  
 
union { 
 
   uint64_t   word4 = 0x0 
 
   struct { 
 
      uint64_t   triggerBC: 12 
 
      uint64_t   zero41: 4 
 bit 32 to 43: trigger BC ID More...
 
      uint64_t   heartbeatBC: 12 
 bit 44 to 47: zeroed More...
 
      uint64_t   zero42: 4 
 bit 48 to 59: heartbeat BC ID More...
 
      uint64_t   triggerType: 32 
 bit 60 to 63: zeroed More...
 
   }  
 
};  
 
union { 
 
   uint64_t   word5 = 0x0 
 
};  
 
union { 
 
   uint64_t   word6 = 0x0 
 
   struct { 
 
      uint64_t   detectorField: 16 
 
      uint64_t   par: 16 
 bit 32 to 47: detector field More...
 
      uint64_t   stop: 8 
 bit 48 to 63: par More...
 
      uint64_t   pageCnt: 16 
 bit 0 to 7: stop code More...
 
      uint64_t   zero6: 8 
 bit 8 to 23: pages counter More...
 
   }  
 
};  
 
union { 
 
   uint64_t   word7 = 0x0 
 
};  
 

Detailed Description

RDH v4 consists of 4 64 bit words, each of the words is extended to 128 bits by the CRU preliminary description of the fields can be found here https://gitlab.cern.ch/AliceO2Group/wp6-doc/blob/master/rdh/RDHV4.md accessed on Oct 07 2019, the old document is under https://docs.google.com/document/d/1otkSDYasqpVBDnxplBI7dWNxaZohctA-bvhyrzvtLoQ

RDH v3 is identical to v4 except that a couple of fields in the CRU filled data in word 1 are not defined (CRU ID, packet counter)

32 bit words of Field 4 and 6. Fixed on Sep 17 2018 in the document.

  63     56      48      40      32      24      16       8       0
  |---------------|---------------|---------------|---------------|

  |reserve| prior |                               |    header     |

0 | zero |ity bit| FEE id | block length | size | vers |

1 |ep | cru id |pcount|link id | memory size |offset nxt pack|

2 | heartbeat orbit | trigger orbit |

3 | reserved |

4 | trigger type |res| HB BC |res|trigger BC |

5 | reserved |

6 |res| page count | stop | detector par |detector field |

7 | reserved |

Field 1,3,5,7 are reserved fields and added to extend each word to 128 bit, marked grey in the documentation to indicate that those fields are added by the CRU Field 1 contains additional information added by the CRU, like actual data size and offset to the next page.

Field description:

  • 8 header version: the header version number
  • 8 header size: the header size in byte(s)
  • 16 block length: assumed to be in byte, but discussion not yet finalized
  • 16 FEE ID: unique id of the Frontend equipment
  • 8 priority bit: indicates packet packet transport of higher priority
  • 16 next package: offset to next page
  • 16 memory size: actual data size in bytes, filled by CRU
  • 8 Link ID: set by the CRU
  • 8 packet counter counter increased for every packet received in the link
  • 12 CRU ID: number used to identify the CRU
  • 4 DATAPATH ID: number used to identify one of the 2 End Points [0/1]
  • 32 trigger orbit: trigger timing
  • 32 heartbeat orbit: heartbeat timing
  • 12 trigger BC: bunch crossing parameter for trigger
  • 12 beartbeat BC: bunch crossing parameter for heartbeat
  • 32 trigger type: bit fiels for the trigger type yet to be decided
  • 16 detector field: detector specific field
  • 16 detector par: detector specific field
  • 8 stop: bit 0 of the stop field is set if this is the last page
  • 16 page count: incremented if data is bigger than the page size, pages are incremented starting from 0

Definition at line 382 of file RAWDataHeader.h.

Member Data Documentation

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ [union]

◆ blockLength

uint64_t o2::header::RAWDataHeaderV4::blockLength

bit 8 to 15: header size

Definition at line 394 of file RAWDataHeader.h.

◆ cruID

uint16_t o2::header::RAWDataHeaderV4::cruID

bit 104 to 111: packet counter

Definition at line 407 of file RAWDataHeader.h.

◆ detectorField

uint64_t o2::header::RAWDataHeaderV4::detectorField

Definition at line 437 of file RAWDataHeader.h.

◆ endPointID

uint8_t o2::header::RAWDataHeaderV4::endPointID

bit 112 to 123: CRU ID

Definition at line 408 of file RAWDataHeader.h.

◆ feeId

uint64_t o2::header::RAWDataHeaderV4::feeId

bit 16 to 31: block length

Definition at line 395 of file RAWDataHeader.h.

◆ headerSize

uint64_t o2::header::RAWDataHeaderV4::headerSize

bit 0 to 7: header version

Definition at line 393 of file RAWDataHeader.h.

◆ heartbeatBC

uint64_t o2::header::RAWDataHeaderV4::heartbeatBC

bit 44 to 47: zeroed

Definition at line 426 of file RAWDataHeader.h.

◆ heartbeatOrbit

uint32_t o2::header::RAWDataHeaderV4::heartbeatOrbit

bit 0 to 31: trigger orbit

Definition at line 415 of file RAWDataHeader.h.

◆ linkID

uint8_t o2::header::RAWDataHeaderV4::linkID

bit 80 to 95: memory size

Definition at line 405 of file RAWDataHeader.h.

◆ memorySize

uint32_t o2::header::RAWDataHeaderV4::memorySize

bit 64 to 79: offset to next packet in memory

Definition at line 404 of file RAWDataHeader.h.

◆ offsetToNext

uint32_t o2::header::RAWDataHeaderV4::offsetToNext

Definition at line 403 of file RAWDataHeader.h.

◆ packetCounter

uint8_t o2::header::RAWDataHeaderV4::packetCounter

bit 96 to 103: link id

Definition at line 406 of file RAWDataHeader.h.

◆ pageCnt

uint64_t o2::header::RAWDataHeaderV4::pageCnt

bit 0 to 7: stop code

Definition at line 440 of file RAWDataHeader.h.

◆ par

uint64_t o2::header::RAWDataHeaderV4::par

bit 32 to 47: detector field

Definition at line 438 of file RAWDataHeader.h.

◆ priority

uint64_t o2::header::RAWDataHeaderV4::priority

bit 32 to 47: FEE identifier

Definition at line 396 of file RAWDataHeader.h.

◆ stop

uint64_t o2::header::RAWDataHeaderV4::stop

bit 48 to 63: par

Definition at line 439 of file RAWDataHeader.h.

◆ triggerBC

uint64_t o2::header::RAWDataHeaderV4::triggerBC

Definition at line 424 of file RAWDataHeader.h.

◆ triggerOrbit

uint32_t o2::header::RAWDataHeaderV4::triggerOrbit

Definition at line 414 of file RAWDataHeader.h.

◆ triggerType

uint64_t o2::header::RAWDataHeaderV4::triggerType

bit 60 to 63: zeroed

Definition at line 428 of file RAWDataHeader.h.

◆ version

uint64_t o2::header::RAWDataHeaderV4::version

Definition at line 392 of file RAWDataHeader.h.

◆ word0

uint64_t o2::header::RAWDataHeaderV4::word0 = 0x0000ffff00004004

Definition at line 385 of file RAWDataHeader.h.

◆ word1

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

Definition at line 401 of file RAWDataHeader.h.

◆ word2

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

Definition at line 412 of file RAWDataHeader.h.

◆ word3

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

Definition at line 419 of file RAWDataHeader.h.

◆ word4

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

Definition at line 422 of file RAWDataHeader.h.

◆ word5

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

Definition at line 432 of file RAWDataHeader.h.

◆ word6

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

Definition at line 435 of file RAWDataHeader.h.

◆ word7

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

Definition at line 445 of file RAWDataHeader.h.

◆ zero0

uint64_t o2::header::RAWDataHeaderV4::zero0

bit 48 to 55: priority bit

Definition at line 397 of file RAWDataHeader.h.

◆ zero41

uint64_t o2::header::RAWDataHeaderV4::zero41

bit 32 to 43: trigger BC ID

Definition at line 425 of file RAWDataHeader.h.

◆ zero42

uint64_t o2::header::RAWDataHeaderV4::zero42

bit 48 to 59: heartbeat BC ID

Definition at line 427 of file RAWDataHeader.h.

◆ zero6

uint64_t o2::header::RAWDataHeaderV4::zero6

bit 8 to 23: pages counter

Definition at line 441 of file RAWDataHeader.h.


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