CbmRoot
gdpbv100::FullMessage Class Reference

#include <gDpbMessv100.h>

Inheritance diagram for gdpbv100::FullMessage:
[legend]
Collaboration diagram for gdpbv100::FullMessage:
[legend]

Public Member Functions

 FullMessage ()
 
 FullMessage (const Message &src, uint64_t uEpIn=0)
 
 FullMessage (const FullMessage &src)
 
void assign (const FullMessage &src)
 
FullMessageoperator= (const FullMessage &src)
 
bool operator< (const FullMessage &other) const
 strict weak ordering operator, including epoch for both messages More...
 
void reset ()
 
uint64_t getExtendedEpoch () const
 
double GetFullTimeNs () const
 
void PrintMessage (unsigned outType=msg_print_Cout, unsigned kind=msg_print_Human) const
 
void assign (const Message &src)
 
uint64_t getData () const
 
void setData (uint64_t value)
 
uint64_t getFieldLong (uint32_t shift, uint32_t len) const
 
uint32_t getField (uint32_t shift, uint32_t len) const
 
void setField (uint32_t shift, uint32_t len, uint32_t value)
 
void setFieldLong (uint32_t shift, uint32_t len, uint64_t value)
 
uint8_t getBit (uint32_t shift) const
 
void setBit (uint32_t shift, uint8_t value)
 
uint32_t getFieldBE (uint32_t shift, uint32_t len) const
 
uint8_t getBitBE (uint32_t shift) const
 
uint64_t dataBE () const
 
uint8_t getMessageType () const
 Returns the message type. Valid for all message types. 4 bit. More...
 
void setMessageType (uint8_t v)
 Sets the message type field in the current message. More...
 
uint16_t getGdpbGenGdpbId () const
 
void setGdpbGenGdpbId (uint32_t v)
 
uint16_t getGdpbGenChipId () const
 
void setGdpbGenChipId (uint32_t v)
 
uint16_t getGdpbHitIs24b () const
 
uint16_t getGdpbHitChanId () const
 
uint32_t getGdpbHitFullTs () const
 
uint16_t getGdpbHitCoarse () const
 
uint16_t getGdpbHitFineTs () const
 
bool getGdpbHit24Edge () const
 
bool getGdpbHit32DllLck () const
 
uint16_t getGdpbHit32Tot () const
 
bool getGdpbEpLinkId () const
 
uint32_t getGdpbEpEpochNb () const
 
bool getGdpbEpSync () const
 
bool getGdpbEpDataLoss () const
 
bool getGdpbEpEpochLoss () const
 
bool getGdpbEpMissmatch () const
 
uint32_t getGdpbSlcMess () const
 
uint32_t getGdpbSlcChan () const
 
uint32_t getGdpbSlcEdge () const
 
uint32_t getGdpbSlcType () const
 
uint32_t getGdpbSlcData () const
 
uint16_t getGdpbSysSubType () const
 
bool getGdpbSysLinkId () const
 
bool getGdpbSysErrRoType () const
 
uint16_t getGdpbSysErrUnused () const
 
uint16_t getGdpbSysErrInfo () const
 
uint16_t getGdpbSysErrChanId () const
 
bool getGdpbSysErrEdge () const
 
uint16_t getGdpbSysErrData () const
 
uint32_t getGdpbSysUnkwData () const
 
uint32_t getGdpbSysFwErrResync () const
 
uint16_t getGdpbSysPattType () const
 
uint16_t getGdpbSysPattIndex () const
 
uint32_t getGdpbSysPattPattern () const
 
uint16_t getStarTrigMsgIndex () const
 
uint64_t getGdpbTsMsbStarA () const
 
uint64_t getGdpbTsLsbStarB () const
 
uint64_t getStarTsMsbStarB () const
 
uint64_t getStarTsMidStarC () const
 
uint64_t getStarTsLsbStarD () const
 
uint32_t getStarFillerD () const
 12 bits in between are set to 0 More...
 
uint32_t getStarTrigCmdStarD () const
 
uint32_t getStarDaqCmdStarD () const
 
uint32_t getStarTokenStarD () const
 
void setGdpbEpEpochNb (uint32_t v)
 
void setGdpbSysSubType (uint16_t v)
 
void setGdpbSysPattType (uint16_t v)
 
void setGdpbSysPattIndex (uint16_t v)
 
void setGdpbSysPattPattern (uint32_t v)
 
void setStarTrigMsgIndex (uint8_t v)
 
void setGdpbTsMsbStarA (uint64_t fullGdpbTs)
 
void setGdpbTsLsbStarB (uint64_t fullGdpbTs)
 
void setStarTsMsbStarB (uint64_t fullStarTs)
 
void setStarTsMidStarC (uint64_t fullStarTs)
 
void setStarTsLsbStarD (uint64_t fullStarTs)
 
void setStarFillerD ()
 12 bits in between are set to 0 More...
 
void setStarTrigCmdStarD (uint8_t v)
 
void setStarDaqCmdStarD (uint8_t v)
 
void setStarTokenStarD (uint16_t v)
 
bool isHitMsg () const
 Returns true is message type is MSG_HIT (Get4 hit data) More...
 
bool isEpochMsg () const
 Returns true is message type is MSG_EPOCH (epoch2 marker) More...
 
bool isGet4SlCtrMsg () const
 Returns true is message type is MSG_SLOWC (GET4 Slow Control) More...
 
bool isSysMsg () const
 Returns true is message type is MSG_SYST (system message) More...
 
bool isStarTrigger () const
 Returns true is message type is MSG_STAR_TRI_A, _B, _C, _D (STAR Trigger message) More...
 
void printDataCout (unsigned kind=msg_print_Prefix|msg_print_Data, uint32_t epoch=0) const
 Print message in human readable format to cout. More...
 
void printDataLog (unsigned kind=msg_print_Prefix|msg_print_Data, uint32_t epoch=0) const
 Print message in human readable format to the Fairroot logger. More...
 
void printData (unsigned outType=msg_print_Cout, unsigned kind=msg_print_Human, uint32_t epoch=0, std::ostream &os=std::cout) const
 Print message in binary or human readable format to a stream. More...
 
uint64_t getMsgFullTime (uint64_t epoch) const
 Returns expanded and adjusted time of message (in ns) More...
 
double getMsgFullTimeD (uint64_t epoch) const
 Returns expanded and adjusted time of message in double (in ns) More...
 
bool operator< (const gdpbv100::Message &other) const
 strict weak ordering operator, assumes same epoch for both messages More...
 
bool operator== (const gdpbv100::Message &other) const
 equality operator, assumes same epoch for both messages More...
 
bool operator!= (const gdpbv100::Message &other) const
 inequality operator, assumes same epoch for both messages More...
 

Static Public Member Functions

static uint64_t FullTimeStamp (uint64_t epoch, uint32_t ts)
 Expanded timestamp for 160 MHz * 19 bit (12 + 7) epochs. More...
 
static uint64_t CalcDistance (uint64_t start, uint64_t stop)
 Returns the time difference between two expanded time stamps. More...
 
static double CalcDistanceD (double start, double stop)
 Returns the time difference between two expanded time stamps. More...
 

Protected Attributes

uint64_t fulExtendedEpoch
 
uint64_t data
 

Detailed Description

Definition at line 362 of file gDpbMessv100.h.

Constructor & Destructor Documentation

◆ FullMessage() [1/3]

gdpbv100::FullMessage::FullMessage ( )
inline

Definition at line 368 of file gDpbMessv100.h.

◆ FullMessage() [2/3]

gdpbv100::FullMessage::FullMessage ( const Message src,
uint64_t  uEpIn = 0 
)
inline

Definition at line 370 of file gDpbMessv100.h.

◆ FullMessage() [3/3]

gdpbv100::FullMessage::FullMessage ( const FullMessage src)
inline

Definition at line 373 of file gDpbMessv100.h.

Member Function Documentation

◆ assign() [1/2]

void gdpbv100::FullMessage::assign ( const FullMessage src)
inline

Definition at line 376 of file gDpbMessv100.h.

References gdpbv100::Message::assign(), and fulExtendedEpoch.

Referenced by operator=().

◆ assign() [2/2]

void gdpbv100::Message::assign ( const Message src)
inlineinherited

Definition at line 147 of file gDpbMessv100.h.

References gdpbv100::Message::data.

Referenced by assign(), and gdpbv100::Message::operator=().

◆ CalcDistance()

uint64_t gdpbv100::Message::CalcDistance ( uint64_t  start,
uint64_t  stop 
)
staticinherited

Returns the time difference between two expanded time stamps.

Definition at line 136 of file gDpbMessv100.cxx.

◆ CalcDistanceD()

double gdpbv100::Message::CalcDistanceD ( double  start,
double  stop 
)
staticinherited

Returns the time difference between two expanded time stamps.

Definition at line 152 of file gDpbMessv100.cxx.

◆ dataBE()

uint64_t gdpbv100::Message::dataBE ( ) const
inlineinherited

◆ FullTimeStamp()

static uint64_t gdpbv100::Message::FullTimeStamp ( uint64_t  epoch,
uint32_t  ts 
)
inlinestaticinherited

Expanded timestamp for 160 MHz * 19 bit (12 + 7) epochs.

Definition at line 348 of file gDpbMessv100.h.

◆ getBit()

◆ getBitBE()

uint8_t gdpbv100::Message::getBitBE ( uint32_t  shift) const
inlineinherited

Definition at line 189 of file gDpbMessv100.h.

References gdpbv100::Message::dataBE().

◆ getData()

◆ getExtendedEpoch()

uint64_t gdpbv100::FullMessage::getExtendedEpoch ( ) const
inline

Definition at line 393 of file gDpbMessv100.h.

References fulExtendedEpoch.

Referenced by CbmMcbm2018UnpackerAlgoTof::ProcessHit().

◆ getField()

◆ getFieldBE()

uint32_t gdpbv100::Message::getFieldBE ( uint32_t  shift,
uint32_t  len 
) const
inlineinherited

Definition at line 186 of file gDpbMessv100.h.

References gdpbv100::Message::dataBE().

◆ getFieldLong()

uint64_t gdpbv100::Message::getFieldLong ( uint32_t  shift,
uint32_t  len 
) const
inlineinherited

◆ GetFullTimeNs()

◆ getGdpbEpDataLoss()

◆ getGdpbEpEpochLoss()

◆ getGdpbEpEpochNb()

◆ getGdpbEpLinkId()

bool gdpbv100::Message::getGdpbEpLinkId ( ) const
inlineinherited

◆ getGdpbEpMissmatch()

◆ getGdpbEpSync()

◆ getGdpbGenChipId()

◆ getGdpbGenGdpbId()

uint16_t gdpbv100::Message::getGdpbGenGdpbId ( ) const
inlineinherited

Definition at line 212 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbHit24Edge()

bool gdpbv100::Message::getGdpbHit24Edge ( ) const
inlineinherited

Definition at line 224 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbHit32DllLck()

bool gdpbv100::Message::getGdpbHit32DllLck ( ) const
inlineinherited

Definition at line 226 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbHit32Tot()

◆ getGdpbHitChanId()

◆ getGdpbHitCoarse()

uint16_t gdpbv100::Message::getGdpbHitCoarse ( ) const
inlineinherited

Definition at line 221 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbHitFineTs()

uint16_t gdpbv100::Message::getGdpbHitFineTs ( ) const
inlineinherited

◆ getGdpbHitFullTs()

◆ getGdpbHitIs24b()

◆ getGdpbSlcChan()

◆ getGdpbSlcData()

◆ getGdpbSlcEdge()

◆ getGdpbSlcMess()

uint32_t gdpbv100::Message::getGdpbSlcMess ( ) const
inlineinherited

Definition at line 238 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbSlcType()

◆ getGdpbSysErrChanId()

◆ getGdpbSysErrData()

◆ getGdpbSysErrEdge()

◆ getGdpbSysErrInfo()

uint16_t gdpbv100::Message::getGdpbSysErrInfo ( ) const
inlineinherited

Definition at line 250 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbSysErrRoType()

bool gdpbv100::Message::getGdpbSysErrRoType ( ) const
inlineinherited

Definition at line 248 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbSysErrUnused()

◆ getGdpbSysFwErrResync()

◆ getGdpbSysLinkId()

bool gdpbv100::Message::getGdpbSysLinkId ( ) const
inlineinherited

Definition at line 246 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbSysPattIndex()

◆ getGdpbSysPattPattern()

◆ getGdpbSysPattType()

◆ getGdpbSysSubType()

◆ getGdpbSysUnkwData()

◆ getGdpbTsLsbStarB()

◆ getGdpbTsMsbStarA()

◆ getMessageType()

◆ getMsgFullTime()

◆ getMsgFullTimeD()

◆ getStarDaqCmdStarD()

◆ getStarFillerD()

uint32_t gdpbv100::Message::getStarFillerD ( ) const
inlineinherited

12 bits in between are set to 0

Definition at line 275 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getStarTokenStarD()

◆ getStarTrigCmdStarD()

◆ getStarTrigMsgIndex()

◆ getStarTsLsbStarD()

◆ getStarTsMidStarC()

◆ getStarTsMsbStarB()

◆ isEpochMsg()

bool gdpbv100::Message::isEpochMsg ( ) const
inlineinherited

Returns true is message type is MSG_EPOCH (epoch2 marker)

Definition at line 323 of file gDpbMessv100.h.

References gdpbv100::Message::getMessageType(), and gdpbv100::MSG_EPOCH.

◆ isGet4SlCtrMsg()

bool gdpbv100::Message::isGet4SlCtrMsg ( ) const
inlineinherited

Returns true is message type is MSG_SLOWC (GET4 Slow Control)

Definition at line 325 of file gDpbMessv100.h.

References gdpbv100::Message::getMessageType(), and gdpbv100::MSG_SLOWC.

◆ isHitMsg()

bool gdpbv100::Message::isHitMsg ( ) const
inlineinherited

Returns true is message type is MSG_HIT (Get4 hit data)

Definition at line 321 of file gDpbMessv100.h.

References gdpbv100::Message::getMessageType(), and gdpbv100::MSG_HIT.

◆ isStarTrigger()

◆ isSysMsg()

bool gdpbv100::Message::isSysMsg ( ) const
inlineinherited

Returns true is message type is MSG_SYST (system message)

Definition at line 327 of file gDpbMessv100.h.

References gdpbv100::Message::getMessageType(), and gdpbv100::MSG_SYST.

◆ operator!=()

bool gdpbv100::Message::operator!= ( const gdpbv100::Message other) const
inherited

inequality operator, assumes same epoch for both messages

Definition at line 93 of file gDpbMessv100.cxx.

References gdpbv100::Message::data.

◆ operator<() [1/2]

bool gdpbv100::FullMessage::operator< ( const FullMessage other) const

strict weak ordering operator, including epoch for both messages

Definition at line 515 of file gDpbMessv100.cxx.

References fulExtendedEpoch, and gdpbv100::Message::operator<().

◆ operator<() [2/2]

bool gdpbv100::Message::operator< ( const gdpbv100::Message other) const
inherited

strict weak ordering operator, assumes same epoch for both messages

Definition at line 56 of file gDpbMessv100.cxx.

References gdpbv100::Message::getGdpbHitFullTs(), gdpbv100::Message::getMessageType(), and gdpbv100::MSG_HIT.

Referenced by operator<().

◆ operator=()

FullMessage& gdpbv100::FullMessage::operator= ( const FullMessage src)
inline

Definition at line 381 of file gDpbMessv100.h.

References assign().

◆ operator==()

bool gdpbv100::Message::operator== ( const gdpbv100::Message other) const
inherited

equality operator, assumes same epoch for both messages

Definition at line 88 of file gDpbMessv100.cxx.

References gdpbv100::Message::data.

◆ printData()

void gdpbv100::Message::printData ( unsigned  outType = msg_print_Cout,
unsigned  kind = msg_print_Human,
uint32_t  epoch = 0,
std::ostream &  os = std::cout 
) const
inherited

Print message in binary or human readable format to a stream.

Prints a one line representation of the message in to a stream, selected by outType. The stream is cout if outType is kFALSE and FairLogger if outType is kTRUE. The parameter kind is mask with 4 bits

If bit msg_print_Human in kind is not set, raw format output is generated. All data fields are shown in hexadecimal. This is the format of choice when chasing hardware problems at the bit level.

If bit msg_print_Human is set, a more human readable output is generated. The timestamp is shown as fully extended and adjusted time as returned by the getMsgFullTime(uint32_t) const method. All data fields are represented in decimal.

Parameters
osoutput stream
kindmask determing output format
epochcurrent epoch number (from last epoch message)

Definition at line 216 of file gDpbMessv100.cxx.

References gdpbv100::FormatHexPrintout(), gdpbv100::MSG_EPOCH, gdpbv100::MSG_HIT, gdpbv100::msg_print_Cout, gdpbv100::msg_print_Data, gdpbv100::msg_print_File, gdpbv100::msg_print_Hex, gdpbv100::msg_print_Human, gdpbv100::msg_print_Prefix, gdpbv100::MSG_SLOWC, gdpbv100::MSG_STAR_TRI_A, gdpbv100::MSG_STAR_TRI_B, gdpbv100::MSG_STAR_TRI_C, gdpbv100::MSG_STAR_TRI_D, gdpbv100::MSG_SYST, gdpbv100::SYS_GDPB_UNKWN, gdpbv100::SYS_GET4_ERROR, gdpbv100::SYS_GET4_SYNC_MISS, and gdpbv100::SYS_PATTERN.

◆ printDataCout()

void gdpbv100::Message::printDataCout ( unsigned  kind = msg_print_Prefix | msg_print_Data,
uint32_t  epoch = 0 
) const
inherited

Print message in human readable format to cout.

Prints a one line representation of the message in to cout. See printData(std::ostream&, unsigned, uint32_t) const for full documentation.

Definition at line 172 of file gDpbMessv100.cxx.

References gdpbv100::msg_print_Cout.

Referenced by CbmMcbm2018MonitorTof::DoUnpack(), CbmStar2019MonitorTof::DoUnpack(), CbmMcbm2018MonitorTofPulser::DoUnpack(), CbmMcbm2018TofTestFee::DoUnpack(), CbmMcbm2018MonitorMcbmPulser::ProcessTofMs(), CbmMcbm2018MonitorMcbmRate::ProcessTofMs(), and CbmMcbm2018MonitorMcbmSync::ProcessTofMs().

◆ printDataLog()

void gdpbv100::Message::printDataLog ( unsigned  kind = msg_print_Prefix | msg_print_Data,
uint32_t  epoch = 0 
) const
inherited

Print message in human readable format to the Fairroot logger.

Prints a one line representation of the message in to the Fairroot logger. TODO: Add coloring of possible See printData(std::ostream&, unsigned, uint32_t) const for full documentation.

Definition at line 185 of file gDpbMessv100.cxx.

References gdpbv100::msg_print_FairLog.

◆ PrintMessage()

void gdpbv100::FullMessage::PrintMessage ( unsigned  outType = msg_print_Cout,
unsigned  kind = msg_print_Human 
) const

Definition at line 523 of file gDpbMessv100.cxx.

◆ reset()

void gdpbv100::FullMessage::reset ( )
inline

Definition at line 388 of file gDpbMessv100.h.

References fulExtendedEpoch, and gdpbv100::Message::reset().

◆ setBit()

void gdpbv100::Message::setBit ( uint32_t  shift,
uint8_t  value 
)
inlineinherited

Definition at line 180 of file gDpbMessv100.h.

References gdpbv100::Message::data.

◆ setData()

void gdpbv100::Message::setData ( uint64_t  value)
inlineinherited

Definition at line 157 of file gDpbMessv100.h.

References gdpbv100::Message::data.

◆ setField()

◆ setFieldLong()

void gdpbv100::Message::setFieldLong ( uint32_t  shift,
uint32_t  len,
uint64_t  value 
)
inlineinherited

◆ setGdpbEpEpochNb()

◆ setGdpbGenChipId()

void gdpbv100::Message::setGdpbGenChipId ( uint32_t  v)
inlineinherited

◆ setGdpbGenGdpbId()

void gdpbv100::Message::setGdpbGenGdpbId ( uint32_t  v)
inlineinherited

◆ setGdpbSysPattIndex()

void gdpbv100::Message::setGdpbSysPattIndex ( uint16_t  v)
inlineinherited

◆ setGdpbSysPattPattern()

void gdpbv100::Message::setGdpbSysPattPattern ( uint32_t  v)
inlineinherited

◆ setGdpbSysPattType()

void gdpbv100::Message::setGdpbSysPattType ( uint16_t  v)
inlineinherited

◆ setGdpbSysSubType()

void gdpbv100::Message::setGdpbSysSubType ( uint16_t  v)
inlineinherited

◆ setGdpbTsLsbStarB()

void gdpbv100::Message::setGdpbTsLsbStarB ( uint64_t  fullGdpbTs)
inlineinherited

Definition at line 299 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setGdpbTsMsbStarA()

void gdpbv100::Message::setGdpbTsMsbStarA ( uint64_t  fullGdpbTs)
inlineinherited

Definition at line 295 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setMessageType()

void gdpbv100::Message::setMessageType ( uint8_t  v)
inlineinherited

Sets the message type field in the current message.

Definition at line 209 of file gDpbMessv100.h.

References gdpbv100::Message::setField(), and v.

Referenced by CbmStar2019EventBuilderEtofAlgo::CreateStatusMessage().

◆ setStarDaqCmdStarD()

void gdpbv100::Message::setStarDaqCmdStarD ( uint8_t  v)
inlineinherited

Definition at line 316 of file gDpbMessv100.h.

References gdpbv100::Message::setField(), and v.

◆ setStarFillerD()

void gdpbv100::Message::setStarFillerD ( )
inlineinherited

12 bits in between are set to 0

Definition at line 314 of file gDpbMessv100.h.

References gdpbv100::Message::setField().

◆ setStarTokenStarD()

void gdpbv100::Message::setStarTokenStarD ( uint16_t  v)
inlineinherited

Definition at line 317 of file gDpbMessv100.h.

References gdpbv100::Message::setField(), and v.

◆ setStarTrigCmdStarD()

void gdpbv100::Message::setStarTrigCmdStarD ( uint8_t  v)
inlineinherited

Definition at line 315 of file gDpbMessv100.h.

References gdpbv100::Message::setField(), and v.

◆ setStarTrigMsgIndex()

void gdpbv100::Message::setStarTrigMsgIndex ( uint8_t  v)
inlineinherited

Definition at line 293 of file gDpbMessv100.h.

References gdpbv100::Message::setField(), and v.

◆ setStarTsLsbStarD()

void gdpbv100::Message::setStarTsLsbStarD ( uint64_t  fullStarTs)
inlineinherited

Definition at line 310 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setStarTsMidStarC()

void gdpbv100::Message::setStarTsMidStarC ( uint64_t  fullStarTs)
inlineinherited

Definition at line 306 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setStarTsMsbStarB()

void gdpbv100::Message::setStarTsMsbStarB ( uint64_t  fullStarTs)
inlineinherited

Definition at line 302 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

Member Data Documentation

◆ data

◆ fulExtendedEpoch

uint64_t gdpbv100::FullMessage::fulExtendedEpoch
protected

Definition at line 365 of file gDpbMessv100.h.

Referenced by assign(), getExtendedEpoch(), GetFullTimeNs(), operator<(), and reset().


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