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

#include <GBTWord.h>

Inherited by o2::itsmft::GBTCableDiagnostic, o2::itsmft::GBTCableStatus, o2::itsmft::GBTCalibration, o2::itsmft::GBTData, o2::itsmft::GBTDataHeader, o2::itsmft::GBTDataHeaderL, o2::itsmft::GBTDataTrailer, o2::itsmft::GBTDiagnostic, and o2::itsmft::GBTTrigger.

Public Member Functions

 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)
 

Public Attributes

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 58 of file GBTWord.h.

Constructor & Destructor Documentation

◆ GBTWord()

o2::itsmft::GBTWord::GBTWord ( )
default

Member Function Documentation

◆ ClassDefNV()

o2::itsmft::GBTWord::ClassDefNV ( GBTWord  ,
 
)

◆ getHeader()

uint8_t o2::itsmft::GBTWord::getHeader ( ) const
inline

Definition at line 166 of file GBTWord.h.

◆ getW64()

const uint64_t * o2::itsmft::GBTWord::getW64 ( ) const
inline

Definition at line 163 of file GBTWord.h.

◆ getW8()

const uint8_t * o2::itsmft::GBTWord::getW8 ( ) const
inline

Definition at line 164 of file GBTWord.h.

◆ isCableDiagnostic()

bool o2::itsmft::GBTWord::isCableDiagnostic ( ) const
inline

Definition at line 159 of file GBTWord.h.

◆ isCableDiagnosticIB()

bool o2::itsmft::GBTWord::isCableDiagnosticIB ( ) const
inline

check if the GBT Header corresponds to ITS IB diagnostics data (header is combined with lanes info)

Definition at line 145 of file GBTWord.h.

◆ isCableDiagnosticOB()

bool o2::itsmft::GBTWord::isCableDiagnosticOB ( ) const
inline

check if the GBT Header corresponds to ITS OB diagnostics data (header is combined with lanes info)

Definition at line 154 of file GBTWord.h.

◆ isCalibrationWord()

bool o2::itsmft::GBTWord::isCalibrationWord ( ) const
inline

check if the GBT Header corresponds to Calibration word

Definition at line 139 of file GBTWord.h.

◆ isData()

bool o2::itsmft::GBTWord::isData ( ) const
inline

check if the GBT Header corresponds to ITS IB or OB data (header is combined with lanes/connector info)

Definition at line 157 of file GBTWord.h.

◆ isDataHeader()

bool o2::itsmft::GBTWord::isDataHeader ( ) const
inline

check if the GBT Header corresponds to GBT payload header

Definition at line 127 of file GBTWord.h.

◆ isDataIB()

bool o2::itsmft::GBTWord::isDataIB ( ) const
inline

check if the GBT Header corresponds to ITS IB data (header is combined with lanes info)

Definition at line 142 of file GBTWord.h.

◆ isDataMFT()

bool o2::itsmft::GBTWord::isDataMFT ( ) const
inline

check if the GBT Header corresponds to MFT data (header is combined with cable number)

Definition at line 151 of file GBTWord.h.

◆ isDataOB()

bool o2::itsmft::GBTWord::isDataOB ( ) const
inline

check if the GBT Header corresponds to ITS OB data (header is combined with lanes/connector info)

Definition at line 148 of file GBTWord.h.

◆ isDataTrailer()

bool o2::itsmft::GBTWord::isDataTrailer ( ) const
inline

check if the GBT Header corresponds to GBT payload trailer

Definition at line 130 of file GBTWord.h.

◆ isDiagnosticWord()

bool o2::itsmft::GBTWord::isDiagnosticWord ( ) const
inline

check if the GBT Header corresponds to Diagnostic data

Definition at line 136 of file GBTWord.h.

◆ isStatus()

bool o2::itsmft::GBTWord::isStatus ( ) const
inline

Definition at line 161 of file GBTWord.h.

◆ isTriggerWord()

bool o2::itsmft::GBTWord::isTriggerWord ( ) const
inline

check if the GBT Header corresponds to GBT trigger word

Definition at line 133 of file GBTWord.h.

◆ printB()

void GBTWord::printB ( bool  padded = true) const

print in bitset format, optionally padding to 128 bits

Definition at line 34 of file GBTWord.cxx.

◆ printX()

void GBTWord::printX ( bool  padded = true,
std::string  com = "" 
) const

print in right aligned hex format, optionally padding to 128 bits

Definition at line 21 of file GBTWord.cxx.

Member Data Documentation

◆ [union]

union { ... } o2::itsmft::GBTWord

GBT word of 80 bits, bits 72:79 are reserver for GBT Header flag, the rest depends on specifications.

◆ activeLanes

uint64_t o2::itsmft::GBTWord::activeLanes

Definition at line 63 of file GBTWord.h.

◆ activeLanesL

uint64_t o2::itsmft::GBTWord::activeLanesL

0:15 Index of Data Packet within trigger

Definition at line 71 of file GBTWord.h.

◆ bc

uint64_t o2::itsmft::GBTWord::bc

15 reserved

Definition at line 96 of file GBTWord.h.

◆ continuation

uint64_t o2::itsmft::GBTWord::continuation

13 No data expected (too close to previous trigger or error)

Definition at line 94 of file GBTWord.h.

◆ data64

uint64_t o2::itsmft::GBTWord::data64[2] = {0}

Definition at line 121 of file GBTWord.h.

◆ data8

uint8_t o2::itsmft::GBTWord::data8[16]

Definition at line 120 of file GBTWord.h.

◆ diagnosticData

uint64_t o2::itsmft::GBTWord::diagnosticData

Definition at line 115 of file GBTWord.h.

◆ id

uint64_t o2::itsmft::GBTWord::id

28:71 reserved

Definition at line 66 of file GBTWord.h.

◆ internal

uint64_t o2::itsmft::GBTWord::internal

0:11 12 lowest bits of trigger type received from CTP

Definition at line 92 of file GBTWord.h.

◆ laneErrorID

uint64_t o2::itsmft::GBTWord::laneErrorID

0:63 Error specific diagnostic data

Definition at line 116 of file GBTWord.h.

◆ lanesStops

uint64_t o2::itsmft::GBTWord::lanesStops

Definition at line 78 of file GBTWord.h.

◆ laneStartsViolation

uint64_t o2::itsmft::GBTWord::laneStartsViolation

66 = 1 if max number of packets reached

Definition at line 84 of file GBTWord.h.

◆ lanesTimeout

uint64_t o2::itsmft::GBTWord::lanesTimeout

0:27 Bit map of “Valid Lane stops received”, 1 bit per lane, NOT USED

Definition at line 79 of file GBTWord.h.

◆ laneTimeouts

uint64_t o2::itsmft::GBTWord::laneTimeouts

67 = 1 if at least 1 lane (eligible for readout) had a “start violation”

Definition at line 85 of file GBTWord.h.

◆ na0diag

uint64_t o2::itsmft::GBTWord::na0diag

Definition at line 104 of file GBTWord.h.

◆ na0h

uint64_t o2::itsmft::GBTWord::na0h

16:43 Bit map of lanes active and eligible for readout

Definition at line 72 of file GBTWord.h.

◆ na0hn

uint64_t o2::itsmft::GBTWord::na0hn

0:27 Bit map of lanes active and eligible for readout

Definition at line 64 of file GBTWord.h.

◆ na1h

uint64_t o2::itsmft::GBTWord::na1h

44:64 reserved

Definition at line 73 of file GBTWord.h.

◆ na1hn

uint64_t o2::itsmft::GBTWord::na1hn

28:71 reserved

Definition at line 65 of file GBTWord.h.

◆ na1t

uint64_t o2::itsmft::GBTWord::na1t

28:55 Bit map of “Lane timeouts received”, 1 bit per lane, NOT USED

Definition at line 80 of file GBTWord.h.

◆ na1tr

uint64_t o2::itsmft::GBTWord::na1tr

14 following data is continuation of the trigger from the previous CRU page

Definition at line 95 of file GBTWord.h.

◆ na2t

uint64_t o2::itsmft::GBTWord::na2t

68 = 1 if at least 1 lane (eligible for readout) had a “start violation”

Definition at line 86 of file GBTWord.h.

◆ na2tr

uint64_t o2::itsmft::GBTWord::na2tr

16:27 HB or internal trigger BC count or trigger BC from CTP

Definition at line 97 of file GBTWord.h.

◆ na3tr

uint64_t o2::itsmft::GBTWord::na3tr

32:63 Last received HB Orbit or trigger orbit count/ Orbit as received from CTP

Definition at line 99 of file GBTWord.h.

◆ noData

uint64_t o2::itsmft::GBTWord::noData

12 Used in Continuous Mode for internally generated trigger

Definition at line 93 of file GBTWord.h.

◆ orbit

uint64_t o2::itsmft::GBTWord::orbit

28:31 reserved

Definition at line 98 of file GBTWord.h.

◆ packetDone

uint64_t o2::itsmft::GBTWord::packetDone

56:63 reserved

Definition at line 81 of file GBTWord.h.

◆ packetIdx

uint64_t o2::itsmft::GBTWord::packetIdx

Definition at line 70 of file GBTWord.h.

◆ packetOverflow

uint64_t o2::itsmft::GBTWord::packetOverflow

65 = 1 if timeout while waiting for data on lanes

Definition at line 83 of file GBTWord.h.

◆ transmissionTimeout

uint64_t o2::itsmft::GBTWord::transmissionTimeout

64 = 1 when current trigger packets transmission done

Definition at line 82 of file GBTWord.h.

◆ triggerType

uint64_t o2::itsmft::GBTWord::triggerType

Definition at line 91 of file GBTWord.h.


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