![]()  | 
  
    Project
    
   | 
 
#include <GBTWord.h>
Inherits o2::itsmft::GBTWord.
Public Types | |
| enum | PacketStates : int {  PacketDone = 0 , TransmissionTimeout = 1 , PacketOverflow = 2 , LaneStartsViolation = 3 , LaneTimeouts = 4 , NStatesDefined , MaxStateCombinations = 0x1 << NStatesDefined }  | 
Public Member Functions | |
| GBTDataTrailer () | |
| GBTDataTrailer (int lanesStop, int lanesTimeOut, bool done, bool transmTO, bool overflow, bool laneStViol, bool laneTO) | |
| uint8_t | getPacketState () const | 
| void | setByte (uint8_t v, int which)=delete | 
| ClassDefNV (GBTDataTrailer, 1) | |
  Public Member Functions inherited from o2::itsmft::GBTWord | |
| GBTWord ()=default | |
| bool | isDataHeader () const | 
| check if the GBT Header corresponds to GBT payload header   | |
| bool | isDataTrailer () const | 
| check if the GBT Header corresponds to GBT payload trailer   | |
| bool | isTriggerWord () const | 
| check if the GBT Header corresponds to GBT trigger word   | |
| bool | isDiagnosticWord () const | 
| check if the GBT Header corresponds to Diagnostic data   | |
| bool | isCalibrationWord () const | 
| check if the GBT Header corresponds to Calibration word   | |
| bool | isDataIB () const | 
| check if the GBT Header corresponds to ITS IB data (header is combined with lanes info)   | |
| bool | isCableDiagnosticIB () const | 
| check if the GBT Header corresponds to ITS IB diagnostics data (header is combined with lanes info)   | |
| bool | isDataOB () const | 
| check if the GBT Header corresponds to ITS OB data (header is combined with lanes/connector info)   | |
| bool | isDataMFT () const | 
| check if the GBT Header corresponds to MFT data (header is combined with cable number)   | |
| bool | isCableDiagnosticOB () const | 
| check if the GBT Header corresponds to ITS OB diagnostics data (header is combined with lanes info)   | |
| bool | isData () const | 
| check if the GBT Header corresponds to ITS IB or OB data (header is combined with lanes/connector info)   | |
| bool | isCableDiagnostic () const | 
| bool | isStatus () const | 
| const uint64_t * | getW64 () const | 
| const uint8_t * | getW8 () const | 
| uint8_t | getHeader () const | 
| void | printX (bool padded=true, std::string com="") const | 
| void | printB (bool padded=true) const | 
| ClassDefNV (GBTWord, 1) | |
Additional Inherited Members | ||
  Public Attributes inherited from o2::itsmft::GBTWord | ||
| union { | ||
| struct { | ||
| uint64_t activeLanes: 28 | ||
| uint64_t na0hn: 36 | ||
| 0:27 Bit map of lanes active and eligible for readout  More... | ||
| uint64_t na1hn: 8 | ||
| 28:71 reserved  More... | ||
| uint64_t id: 8 | ||
| 28:71 reserved  More... | ||
| } | ||
| struct { | ||
| uint64_t packetIdx: 16 | ||
| uint64_t activeLanesL: 28 | ||
| 0:15 Index of Data Packet within trigger  More... | ||
| uint64_t na0h: 20 | ||
| 16:43 Bit map of lanes active and eligible for readout  More... | ||
| uint64_t na1h: 8 | ||
| 44:64 reserved  More... | ||
| } | ||
| struct { | ||
| uint64_t lanesStops: 28 | ||
| uint64_t lanesTimeout: 28 | ||
| 0:27 Bit map of “Valid Lane stops received”, 1 bit per lane, NOT USED  More... | ||
| uint64_t na1t: 8 | ||
| 28:55 Bit map of “Lane timeouts received”, 1 bit per lane, NOT USED  More... | ||
| uint64_t packetDone: 1 | ||
| 56:63 reserved  More... | ||
| uint64_t transmissionTimeout: 1 | ||
| 64 = 1 when current trigger packets transmission done  More... | ||
| uint64_t packetOverflow: 1 | ||
| 65 = 1 if timeout while waiting for data on lanes  More... | ||
| uint64_t laneStartsViolation: 1 | ||
| 66 = 1 if max number of packets reached  More... | ||
| uint64_t laneTimeouts: 1 | ||
| 67 = 1 if at least 1 lane (eligible for readout) had a “start violation”  More... | ||
| uint64_t na2t: 3 | ||
| 68 = 1 if at least 1 lane (eligible for readout) had a “start violation”  More... | ||
| } | ||
| struct { | ||
| uint64_t triggerType: 12 | ||
| uint64_t internal: 1 | ||
| 0:11 12 lowest bits of trigger type received from CTP  More... | ||
| uint64_t noData: 1 | ||
| 12 Used in Continuous Mode for internally generated trigger  More... | ||
| uint64_t continuation: 1 | ||
| 13 No data expected (too close to previous trigger or error)  More... | ||
| uint64_t na1tr: 1 | ||
| 14 following data is continuation of the trigger from the previous CRU page  More... | ||
| uint64_t bc: 12 | ||
| 15 reserved  More... | ||
| uint64_t na2tr: 4 | ||
| 16:27 HB or internal trigger BC count or trigger BC from CTP  More... | ||
| uint64_t orbit: 32 | ||
| 28:31 reserved  More... | ||
| uint64_t na3tr: 6 | ||
| 32:63 Last received HB Orbit or trigger orbit count/ Orbit as received from CTP  More... | ||
| } | ||
| struct { | ||
| uint64_t na0diag: 64 | ||
| } | ||
| struct { | ||
| uint64_t diagnosticData: 64 | ||
| uint64_t laneErrorID: 8 | ||
| 0:63 Error specific diagnostic data  More... | ||
| } | ||
| Calibration Data Word.  | ||
| uint8_t data8 [16] | ||
| uint64_t data64 [2] = {0} | ||
| }; | ||
| GBT word of 80 bits, bits 72:79 are reserver for GBT Header flag, the rest depends on specifications.  | ||
Definition of ITS/MFT GBT trailer: 80 bits long word In CRU data it must be the last word of the payload
bits 0 : 27, Lanes stops received // not used at the moment bits 28 : 55, Lane timeouts received // not used at the moment bits 56 : 63, not used bits 64 : 71, State of GBT_Packet: 4: lane_timeouts, if at least 1 lane timed out 3: lane_starts_violation, if at least 1 lane had a start violation 2: packet_overflow, if max number of packets reached 1: transmission_timeout, if timeout of transmission (lanes) 0: packet_done, if Packet finished
| Enumerator | |
|---|---|
| PacketDone | |
| TransmissionTimeout | |
| PacketOverflow | |
| LaneStartsViolation | |
| LaneTimeouts | |
| NStatesDefined | |
| MaxStateCombinations | |
| o2::itsmft::GBTDataTrailer::ClassDefNV | ( | GBTDataTrailer | , | 
| 1 | |||
| ) | 
      
  | 
  inline |