CbmRoot
Loading...
Searching...
No Matches
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
 
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.
 
void setMessageType (uint8_t v)
 Sets the message type field in the current message.
 
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
 
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
 
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)
 
bool isEpochMsg () const
 Returns true is message type is MSG_EPOCH (epoch2 marker)
 
bool isGet4SlCtrMsg () const
 Returns true is message type is MSG_SLOWC (GET4 Slow Control)
 
bool isSysMsg () const
 Returns true is message type is MSG_SYST (system message)
 
bool isStarTrigger () const
 Returns true is message type is MSG_STAR_TRI_A, _B, _C, _D (STAR Trigger message)
 
void printDataCout (unsigned kind=msg_print_Prefix|msg_print_Data, uint32_t epoch=0) const
 Print message in human readable format to cout.
 
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.
 
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.
 
uint64_t getMsgFullTime (uint64_t epoch) const
 Returns expanded and adjusted time of message (in ns)
 
double getMsgFullTimeD (uint64_t epoch) const
 Returns expanded and adjusted time of message in double (in ns)
 
bool operator< (const gdpbv100::Message &other) const
 strict weak ordering operator, assumes same epoch for both messages
 
bool operator== (const gdpbv100::Message &other) const
 equality operator, assumes same epoch for both messages
 
bool operator!= (const gdpbv100::Message &other) const
 inequality operator, assumes same epoch for both messages
 

Static Public Member Functions

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

Protected Attributes

uint64_t fulExtendedEpoch
 
uint64_t data
 

Detailed Description

Definition at line 343 of file gDpbMessv100.h.

Constructor & Destructor Documentation

◆ FullMessage() [1/3]

gdpbv100::FullMessage::FullMessage ( )
inline

Definition at line 348 of file gDpbMessv100.h.

◆ FullMessage() [2/3]

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

Definition at line 350 of file gDpbMessv100.h.

◆ FullMessage() [3/3]

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

Definition at line 352 of file gDpbMessv100.h.

Member Function Documentation

◆ assign() [1/2]

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

Definition at line 354 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 148 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 127 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 144 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 331 of file gDpbMessv100.h.

◆ getBit()

◆ getBitBE()

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

Definition at line 195 of file gDpbMessv100.h.

References gdpbv100::Message::dataBE().

◆ getData()

◆ getExtendedEpoch()

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

Definition at line 374 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 191 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 213 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbHit24Edge()

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

Definition at line 225 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbHit32DllLck()

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

Definition at line 227 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbHit32Tot()

◆ getGdpbHitChanId()

◆ getGdpbHitCoarse()

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

Definition at line 222 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 239 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbSlcType()

◆ getGdpbSysErrChanId()

◆ getGdpbSysErrData()

◆ getGdpbSysErrEdge()

◆ getGdpbSysErrInfo()

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

Definition at line 251 of file gDpbMessv100.h.

References gdpbv100::Message::getField().

◆ getGdpbSysErrRoType()

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

Definition at line 249 of file gDpbMessv100.h.

References gdpbv100::Message::getBit().

◆ getGdpbSysErrUnused()

◆ getGdpbSysFwErrResync()

◆ getGdpbSysLinkId()

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

Definition at line 247 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 276 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 312 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 314 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 310 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 316 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 92 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 410 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 60 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 360 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 89 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 false and FairLogger if outType is true. 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 205 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 165 of file gDpbMessv100.cxx.

References gdpbv100::msg_print_Cout.

Referenced by CbmMcbm2018MonitorTof::DoUnpack(), CbmMcbm2018MonitorTofPulser::DoUnpack(), CbmMcbm2018TofTestFee::DoUnpack(), CbmStar2019MonitorTof::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 176 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 419 of file gDpbMessv100.cxx.

◆ reset()

void gdpbv100::FullMessage::reset ( )
inline

Definition at line 368 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 185 of file gDpbMessv100.h.

References gdpbv100::Message::data.

◆ setData()

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

Definition at line 159 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 296 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setGdpbTsMsbStarA()

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

Definition at line 294 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 210 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 305 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 303 of file gDpbMessv100.h.

References gdpbv100::Message::setField().

◆ setStarTokenStarD()

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

Definition at line 306 of file gDpbMessv100.h.

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

◆ setStarTrigCmdStarD()

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

Definition at line 304 of file gDpbMessv100.h.

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

◆ setStarTrigMsgIndex()

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

Definition at line 292 of file gDpbMessv100.h.

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

◆ setStarTsLsbStarD()

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

Definition at line 301 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setStarTsMidStarC()

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

Definition at line 299 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

◆ setStarTsMsbStarB()

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

Definition at line 297 of file gDpbMessv100.h.

References gdpbv100::Message::setFieldLong().

Member Data Documentation

◆ data

◆ fulExtendedEpoch

uint64_t gdpbv100::FullMessage::fulExtendedEpoch
protected

Definition at line 345 of file gDpbMessv100.h.

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


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