CbmRoot
gdpbv100 Namespace Reference

Classes

class  FullMessage
 
class  Message
 

Enumerations

enum  MessageTypes {
  MSG_HIT = 0, MSG_EPOCH = 1, MSG_SLOWC = 2, MSG_SYST = 3,
  MSG_STAR_TRI_A = 4, MSG_STAR_TRI_B = 5, MSG_STAR_TRI_C = 6, MSG_STAR_TRI_D = 7
}
 
enum  SysMessageTypes { SYS_GET4_ERROR = 0, SYS_GDPB_UNKWN, SYS_GET4_SYNC_MISS, SYS_PATTERN }
 
enum  PattMessageTypes { PATT_MISSMATCH = 0, PATT_ENABLE = 1, PATT_RESYNC = 2, PATT_STATUS = 3 }
 
enum  MessagePrintMask { msg_print_Prefix = 1, msg_print_Data = 2, msg_print_Hex = 4, msg_print_Human = 8 }
 
enum  MessagePrintType { msg_print_Cout = 1, msg_print_FairLog = 2, msg_print_File = 3 }
 
enum  Get4Message32bSlC { GET4_32B_SLC_SCALER = 0, GET4_32B_SLC_DEADT = 1, GET4_32B_SLC_SPIREAD = 2, GET4_32B_SLC_START_SEU = 3 }
 
enum  Get4Message32bErrors {
  GET4_V2X_ERR_READ_INIT = 0x00, GET4_V2X_ERR_SYNC = 0x01, GET4_V2X_ERR_EP_CNT_SYNC = 0x02, GET4_V2X_ERR_EP = 0x03,
  GET4_V2X_ERR_FIFO_WRITE = 0x04, GET4_V2X_ERR_LOST_EVT = 0x05, GET4_V2X_ERR_CHAN_STATE = 0x06, GET4_V2X_ERR_TOK_RING_ST = 0x07,
  GET4_V2X_ERR_TOKEN = 0x08, GET4_V2X_ERR_READOUT_ERR = 0x09, GET4_V2X_ERR_SPI = 0x0A, GET4_V2X_ERR_DLL_LOCK = 0x0B,
  GET4_V2X_ERR_DLL_RESET = 0x0C, GET4_V2X_ERR_TOT_OVERWRT, GET4_V2X_ERR_TOT_RANGE = 0x12, GET4_V2X_ERR_EVT_DISCARD = 0x13,
  GET4_V2X_ERR_ADD_RIS_EDG = 0x14, GET4_V2X_ERR_UNPAIR_FALL = 0x15, GET4_V2X_ERR_SEQUENCE_ER = 0x16, GET4_V2X_ERR_EPOCH_OVERF,
  GET4_V2X_ERR_UNKNOWN = 0x7F
}
 

Functions

std::string FormatHexPrintout (uint64_t ulVal, char cFill=0, uint uWidth=0, bool bUppercase=false)
 

Variables

const double kdClockCycleSize = 6250.0
 
const double kdClockCycleSizeNs = kdClockCycleSize / 1000.0
 
const double kdTotBinSize = 50.0
 
const uint32_t kuFineTime = 0x0000007F
 
const uint32_t kuFtShift = 0
 
const uint32_t kuCoarseTime = 0x0007FF80
 
const uint32_t kuCtShift = 7
 
const uint32_t kuCtSize = 12
 
const uint32_t kuFineCounterSize = ((kuFineTime >> kuFtShift) + 1)
 
const uint32_t kuCoarseCounterSize = ((kuCoarseTime >> kuCtShift) + 1)
 
const uint32_t kuCoarseOverflowTest
 
const uint32_t kuTotCounterSize = 256
 
const double kdFtSize = kuFineCounterSize
 
const double kdFtBinsNb = 112.
 
const double kdBinSize = kdClockCycleSize / kdFtBinsNb
 
const uint32_t kuEpochInBins = kuCoarseCounterSize * kdFtBinsNb
 
const double kdEpochInPs
 
const double kdEpochInNs = kdEpochInPs / 1000.0
 
const uint32_t kuEpochCounterSz = 0x7FFFFFFF
 
const uint64_t kulEpochCycleBins
 
const double kdEpochCycleInS
 
const uint64_t kulEpochCycleFieldSz = 0x1FFFFF
 
const uint32_t kuChipIdMergedEpoch = 255
 
const uint32_t kuFeePulserChannel
 
const uint32_t kuFeePulserChannelDiam
 

Detailed Description

Clone of the functions in the flestool library to avoid circular dependencies Replaces the following block of code which generate warnings depending on the OS Form( "%llx", static_cast<uint64_t>(val) ); Form( "%lx", static_cast<uint64_t>(val) ); Form( "%0llx", static_cast<uint64_t>(val) ); Form( "%0lx", static_cast<uint64_t>(val) ); Form( "%016llx", static_cast<uint64_t>(val) ); Form( "%016lx", static_cast<uint64_t>(val) );

Enumeration Type Documentation

◆ Get4Message32bErrors

Enumerator
GET4_V2X_ERR_READ_INIT 
GET4_V2X_ERR_SYNC 
GET4_V2X_ERR_EP_CNT_SYNC 
GET4_V2X_ERR_EP 
GET4_V2X_ERR_FIFO_WRITE 
GET4_V2X_ERR_LOST_EVT 
GET4_V2X_ERR_CHAN_STATE 
GET4_V2X_ERR_TOK_RING_ST 
GET4_V2X_ERR_TOKEN 
GET4_V2X_ERR_READOUT_ERR 
GET4_V2X_ERR_SPI 
GET4_V2X_ERR_DLL_LOCK 
GET4_V2X_ERR_DLL_RESET 
GET4_V2X_ERR_TOT_OVERWRT 
GET4_V2X_ERR_TOT_RANGE 
GET4_V2X_ERR_EVT_DISCARD 
GET4_V2X_ERR_ADD_RIS_EDG 
GET4_V2X_ERR_UNPAIR_FALL 
GET4_V2X_ERR_SEQUENCE_ER 
GET4_V2X_ERR_EPOCH_OVERF 
GET4_V2X_ERR_UNKNOWN 

Definition at line 107 of file gDpbMessv100.h.

◆ Get4Message32bSlC

Enumerator
GET4_32B_SLC_SCALER 
GET4_32B_SLC_DEADT 
GET4_32B_SLC_SPIREAD 
GET4_32B_SLC_START_SEU 

Definition at line 100 of file gDpbMessv100.h.

◆ MessagePrintMask

Enumerator
msg_print_Prefix 
msg_print_Data 
msg_print_Hex 
msg_print_Human 

Definition at line 87 of file gDpbMessv100.h.

◆ MessagePrintType

Enumerator
msg_print_Cout 
msg_print_FairLog 
msg_print_File 

Definition at line 94 of file gDpbMessv100.h.

◆ MessageTypes

Enumerator
MSG_HIT 
MSG_EPOCH 
MSG_SLOWC 
MSG_SYST 
MSG_STAR_TRI_A 
MSG_STAR_TRI_B 
MSG_STAR_TRI_C 
MSG_STAR_TRI_D 

Definition at line 58 of file gDpbMessv100.h.

◆ PattMessageTypes

Enumerator
PATT_MISSMATCH 
PATT_ENABLE 
PATT_RESYNC 
PATT_STATUS 

Definition at line 80 of file gDpbMessv100.h.

◆ SysMessageTypes

Enumerator
SYS_GET4_ERROR 
SYS_GDPB_UNKWN 
SYS_GET4_SYNC_MISS 
SYS_PATTERN 

Definition at line 69 of file gDpbMessv100.h.

Function Documentation

◆ FormatHexPrintout()

std::string gdpbv100::FormatHexPrintout ( uint64_t  ulVal,
char  cFill = 0,
uint  uWidth = 0,
bool  bUppercase = false 
)

Set hex printout mode

Set fill character and/or width if provided by user

push value

Restore fill character if needed

Definition at line 30 of file gDpbMessv100.cxx.

Referenced by gdpbv100::Message::printData(), CbmMcbm2018MonitorTofPulser::ProcessEpochCycle(), CbmMcbm2018TofTestFee::ProcessEpochCycle(), CbmMcbm2018MonitorTof::ProcessEpochCycle(), and CbmMcbm2018UnpackerAlgoTof::ProcessMs().

Variable Documentation

◆ kdBinSize

◆ kdClockCycleSize

const double gdpbv100::kdClockCycleSize = 6250.0

Definition at line 9 of file gDpbMessv100.h.

◆ kdClockCycleSizeNs

◆ kdEpochCycleInS

const double gdpbv100::kdEpochCycleInS
Initial value:
=
static_cast<double>(kuEpochCounterSz + 1) * (kdEpochInNs / 1e9)

Definition at line 45 of file gDpbMessv100.h.

◆ kdEpochInNs

◆ kdEpochInPs

const double gdpbv100::kdEpochInPs

◆ kdFtBinsNb

const double gdpbv100::kdFtBinsNb = 112.

Definition at line 27 of file gDpbMessv100.h.

Referenced by gdpbv100::Message::getMsgFullTimeD().

◆ kdFtSize

const double gdpbv100::kdFtSize = kuFineCounterSize

Definition at line 26 of file gDpbMessv100.h.

Referenced by gdpbv100::Message::getMsgFullTimeD().

◆ kdTotBinSize

const double gdpbv100::kdTotBinSize = 50.0

Definition at line 12 of file gDpbMessv100.h.

◆ kuChipIdMergedEpoch

◆ kuCoarseCounterSize

const uint32_t gdpbv100::kuCoarseCounterSize = ((kuCoarseTime >> kuCtShift) + 1)

Definition at line 21 of file gDpbMessv100.h.

Referenced by CbmStar2019EventBuilderEtofAlgo::BuildEvents().

◆ kuCoarseOverflowTest

const uint32_t gdpbv100::kuCoarseOverflowTest
Initial value:

Definition at line 22 of file gDpbMessv100.h.

◆ kuCoarseTime

const uint32_t gdpbv100::kuCoarseTime = 0x0007FF80

Definition at line 16 of file gDpbMessv100.h.

◆ kuCtShift

const uint32_t gdpbv100::kuCtShift = 7

Definition at line 17 of file gDpbMessv100.h.

◆ kuCtSize

const uint32_t gdpbv100::kuCtSize = 12

◆ kuEpochCounterSz

◆ kuEpochInBins

const uint32_t gdpbv100::kuEpochInBins = kuCoarseCounterSize * kdFtBinsNb

◆ kuFeePulserChannel

const uint32_t gdpbv100::kuFeePulserChannel

◆ kuFeePulserChannelDiam

const uint32_t gdpbv100::kuFeePulserChannelDiam
Initial value:
=
0

Definition at line 55 of file gDpbMessv100.h.

◆ kuFineCounterSize

const uint32_t gdpbv100::kuFineCounterSize = ((kuFineTime >> kuFtShift) + 1)

Definition at line 20 of file gDpbMessv100.h.

◆ kuFineTime

const uint32_t gdpbv100::kuFineTime = 0x0000007F

Definition at line 14 of file gDpbMessv100.h.

◆ kuFtShift

const uint32_t gdpbv100::kuFtShift = 0

Definition at line 15 of file gDpbMessv100.h.

◆ kulEpochCycleBins

◆ kulEpochCycleFieldSz

◆ kuTotCounterSize

const uint32_t gdpbv100::kuTotCounterSize = 256

Definition at line 24 of file gDpbMessv100.h.

Referenced by CbmMcbm2018TofTestFee::CreateHistograms().

gdpbv100::kdEpochInNs
const double kdEpochInNs
Definition: gDpbMessv100.h:37
gdpbv100::kuEpochCounterSz
const uint32_t kuEpochCounterSz
Definition: gDpbMessv100.h:40
gdpbv100::kdClockCycleSize
const double kdClockCycleSize
Definition: gDpbMessv100.h:9
gdpbv100::kuCoarseCounterSize
const uint32_t kuCoarseCounterSize
Definition: gDpbMessv100.h:21
gdpbv100::kuEpochInBins
const uint32_t kuEpochInBins
Definition: gDpbMessv100.h:32