Project
Loading...
Searching...
No Matches
o2::itsmft::GBTDataTrailer Struct Reference

#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.
 

Detailed Description

Definition at line 210 of file GBTWord.h.

Member Enumeration Documentation

◆ PacketStates

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 

Definition at line 223 of file GBTWord.h.

Constructor & Destructor Documentation

◆ GBTDataTrailer() [1/2]

o2::itsmft::GBTDataTrailer::GBTDataTrailer ( )
inline

Definition at line 233 of file GBTWord.h.

◆ GBTDataTrailer() [2/2]

o2::itsmft::GBTDataTrailer::GBTDataTrailer ( int  lanesStop,
int  lanesTimeOut,
bool  done,
bool  transmTO,
bool  overflow,
bool  laneStViol,
bool  laneTO 
)
inline

Definition at line 234 of file GBTWord.h.

Member Function Documentation

◆ ClassDefNV()

o2::itsmft::GBTDataTrailer::ClassDefNV ( GBTDataTrailer  ,
 
)

◆ getPacketState()

uint8_t o2::itsmft::GBTDataTrailer::getPacketState ( ) const
inline

Definition at line 246 of file GBTWord.h.

◆ setByte()

void o2::itsmft::GBTDataTrailer::setByte ( uint8_t  v,
int  which 
)
delete

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