Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mvtx::GBTWord Struct Reference

#include <online_distribution/blob/master/newbasic/mvtx_decoder/GBTWord.h>

+ Inheritance diagram for mvtx::GBTWord:

Public Member Functions

 GBTWord ()=default
 
bool isIHW () const
 check if the GBT Header corresponds to GBT payload header
 
bool isTDH () const
 check if the GBT Header corresponds to GBT payload trailer
 
bool isCDW () const
 check if the GBT Header corresponds to Calibration word
 
bool isTDT () const
 check if the GBT Header corresponds to GBT trigger word
 
bool isDDW () const
 check if the GBT Header corresponds to Diagnostic data
 
bool isDiagnosticIB () const
 check if the GBT Header corresponds to ITS IB diagnostics data (header is combined with lanes info)
 
bool isData () const
 check if the GBT Header corresponds to ITS IB data (header is combined with lanes info)
 
const uint8_t * getW8 () const
 
uint8_t getHeader () const
 
void printX () const
 
std::string asString () const
 

Public Attributes

union {
   struct {
      uint64_t   activeLanes: 28
 
      uint64_t   na0hn: 36
 0:27 Bit map of lanes active and eligible for readout
 
      uint64_t   na1hn: 8
 28:71 reserved
 
      uint64_t   id: 8
 28:71 reserved
 
   } 
 
   struct {
      uint64_t   lanesStatus: 56
 
      uint64_t   na0t: 5
 0:55 Bit map of “Valid Lane stops received”, 1 bit per lane, NOT USED
 
      uint64_t   timeout_in_idle: 1
 56:60 reserved
 
      uint64_t   timeout_start_stop: 1
 61 = 1 if timeout waiting for a valid word from lanes
 
      uint64_t   timeout_to_start: 1
 62 = 1 if timeout waiting for end-of-packet from all lanes
 
      uint64_t   packet_done: 1
 63 = 1 if timeout waiting for first word from first lane
 
      uint64_t   transmission_timeout: 1
 64 = 1 when current trigger packets transmission done
 
      uint64_t   na1t: 1
 65 = 1 if timeout while waiting for data on lanes
 
      uint64_t   lane_starts_violation: 1
 66 reserved
 
      uint64_t   lane_timeouts: 1
 67 = 1 if at least 1 lane (eligible for readout) had a “start violation”
 
      uint64_t   na2t: 3
 68 = 1 if at least 1 lane (eligible for readout) timed out
 
   } 
 
   struct {
      uint64_t   lane_status: 56
 
      uint64_t   na3tr: 8
 
      uint64_t   na4tr: 1
 56:63 reserved
 
      uint64_t   transmission_timeouts: 1
 64 reserved
 
      uint64_t   na5tr: 1
 
      uint64_t   lane_starts_violations: 1
 66 reserved
 
      uint64_t   index: 4
 
   } 
 
   struct {
      uint64_t   diagnostic_data: 64
 
      uint8_t   lane_error_id: 8
 0:63 Error specific diagnostic data
 
   } 
 
   uint8_t   data8 [GBTWordLength]
 
}; 
 

Detailed Description

Definition at line 39 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 39 of file GBTWord.h

Constructor & Destructor Documentation

mvtx::GBTWord::GBTWord ( )
default

Member Function Documentation

std::string GBTWord::asString ( ) const

Definition at line 14 of file GBTWord.cxx.

View newest version in sPHENIX GitHub at line 14 of file GBTWord.cxx

References data8, mvtx::GBTWordLength, and i.

Referenced by printX().

+ Here is the caller graph for this function:

uint8_t mvtx::GBTWord::getHeader ( ) const
inline

Definition at line 136 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 136 of file GBTWord.h

References id.

const uint8_t* mvtx::GBTWord::getW8 ( ) const
inline

Definition at line 134 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 134 of file GBTWord.h

References data8.

bool mvtx::GBTWord::isCDW ( ) const
inline

check if the GBT Header corresponds to Calibration word

Definition at line 120 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 120 of file GBTWord.h

References mvtx::GBTFlagCDW.

bool mvtx::GBTWord::isData ( ) const
inline

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

Definition at line 132 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 132 of file GBTWord.h

References mvtx::GBTFlagDataIB.

bool mvtx::GBTWord::isDDW ( ) const
inline

check if the GBT Header corresponds to Diagnostic data

Definition at line 126 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 126 of file GBTWord.h

References mvtx::GBTFlagDDW.

bool mvtx::GBTWord::isDiagnosticIB ( ) const
inline

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

Definition at line 129 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 129 of file GBTWord.h

References mvtx::GBTFlagDiagnosticIB.

bool mvtx::GBTWord::isIHW ( ) const
inline

check if the GBT Header corresponds to GBT payload header

Definition at line 114 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 114 of file GBTWord.h

References mvtx::GBTFlagIHW.

bool mvtx::GBTWord::isTDH ( ) const
inline

check if the GBT Header corresponds to GBT payload trailer

Definition at line 117 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 117 of file GBTWord.h

References mvtx::GBTFlagTDH.

bool mvtx::GBTWord::isTDT ( ) const
inline

check if the GBT Header corresponds to GBT trigger word

Definition at line 123 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 123 of file GBTWord.h

References mvtx::GBTFlagTDT.

void GBTWord::printX ( ) const

print in right aligned hex format

Definition at line 25 of file GBTWord.cxx.

View newest version in sPHENIX GitHub at line 25 of file GBTWord.cxx

References asString().

+ Here is the call graph for this function:

Member Data Documentation

union { ... }
uint64_t mvtx::GBTWord::activeLanes

Definition at line 45 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 45 of file GBTWord.h

uint8_t mvtx::GBTWord::data8[GBTWordLength]

Definition at line 107 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 107 of file GBTWord.h

Referenced by asString(), and getW8().

uint64_t mvtx::GBTWord::diagnostic_data

Definition at line 101 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 101 of file GBTWord.h

uint64_t mvtx::GBTWord::id

28:71 reserved

Definition at line 48 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 48 of file GBTWord.h

Referenced by getHeader().

uint64_t mvtx::GBTWord::index

67 = 1 One or more lanes had a protocol violation in this HBF. Cummulative logic OR of transmission_timeout field of the TDTs.

Definition at line 96 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 96 of file GBTWord.h

uint8_t mvtx::GBTWord::lane_error_id

0:63 Error specific diagnostic data

Definition at line 102 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 102 of file GBTWord.h

uint64_t mvtx::GBTWord::lane_starts_violation

66 reserved

Definition at line 80 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 80 of file GBTWord.h

uint64_t mvtx::GBTWord::lane_starts_violations

66 reserved

Definition at line 94 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 94 of file GBTWord.h

uint64_t mvtx::GBTWord::lane_status

Definition at line 87 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 87 of file GBTWord.h

uint64_t mvtx::GBTWord::lane_timeouts

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

Definition at line 81 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 81 of file GBTWord.h

uint64_t mvtx::GBTWord::lanesStatus

Definition at line 72 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 72 of file GBTWord.h

uint64_t mvtx::GBTWord::na0hn

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

Definition at line 46 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 46 of file GBTWord.h

uint64_t mvtx::GBTWord::na0t

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

Definition at line 73 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 73 of file GBTWord.h

uint64_t mvtx::GBTWord::na1hn

28:71 reserved

Definition at line 47 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 47 of file GBTWord.h

uint64_t mvtx::GBTWord::na1t

65 = 1 if timeout while waiting for data on lanes

Definition at line 79 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 79 of file GBTWord.h

uint64_t mvtx::GBTWord::na2t

68 = 1 if at least 1 lane (eligible for readout) timed out

Definition at line 82 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 82 of file GBTWord.h

uint64_t mvtx::GBTWord::na3tr

0:55 Readout status of the lanes for the current HBF. Higher status level achieved for each lane taken from each TDT.

Definition at line 89 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 89 of file GBTWord.h

uint64_t mvtx::GBTWord::na4tr

56:63 reserved

Definition at line 90 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 90 of file GBTWord.h

uint64_t mvtx::GBTWord::na5tr

65 = 1 One or more lanes had a timeout in this HBF. Cummulative logic OR of transmission_timeout field of the TDTs.

Definition at line 93 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 93 of file GBTWord.h

uint64_t mvtx::GBTWord::packet_done

63 = 1 if timeout waiting for first word from first lane

Definition at line 77 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 77 of file GBTWord.h

uint64_t mvtx::GBTWord::timeout_in_idle

56:60 reserved

Definition at line 74 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 74 of file GBTWord.h

uint64_t mvtx::GBTWord::timeout_start_stop

61 = 1 if timeout waiting for a valid word from lanes

Definition at line 75 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 75 of file GBTWord.h

uint64_t mvtx::GBTWord::timeout_to_start

62 = 1 if timeout waiting for end-of-packet from all lanes

Definition at line 76 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 76 of file GBTWord.h

uint64_t mvtx::GBTWord::transmission_timeout

64 = 1 when current trigger packets transmission done

Definition at line 78 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 78 of file GBTWord.h

uint64_t mvtx::GBTWord::transmission_timeouts

64 reserved

Definition at line 91 of file GBTWord.h.

View newest version in sPHENIX GitHub at line 91 of file GBTWord.h


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