CbmRoot
Loading...
Searching...
No Matches
CriGet4Mess001.h File Reference
#include <cstdint>
#include <iostream>
Include dependency graph for CriGet4Mess001.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  critof001::Message
 
class  critof001::FullMessage
 

Namespaces

namespace  critof001
 

Enumerations

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

Variables

const double critof001::kdClockCycleSize = 6250.0
 
const double critof001::kdClockCycleSizeNs = kdClockCycleSize / 1000.0
 
const double critof001::kdTotBinSize = 50.0
 
const uint32_t critof001::kuFineTime = 0x0000007F
 
const uint32_t critof001::kuFtShift = 0
 
const uint32_t critof001::kuCoarseTime = 0x0007FF80
 
const uint32_t critof001::kuCtShift = 7
 
const uint32_t critof001::kuCtSize = 12
 
const uint32_t critof001::kuFineCounterSize = ((kuFineTime >> kuFtShift) + 1)
 
const uint32_t critof001::kuCoarseCounterSize = ((kuCoarseTime >> kuCtShift) + 1)
 
const uint32_t critof001::kuCoarseOverflowTest = kuCoarseCounterSize / 2
 
const uint32_t critof001::kuTotCounterSize = 256
 
const double critof001::kdFtSize = kuFineCounterSize
 
const double critof001::kdFtBinsNb = 112.
 
const double critof001::kdBinSize = kdClockCycleSize / kdFtBinsNb
 
const uint32_t critof001::kuEpochInBins = kuCoarseCounterSize * kdFtBinsNb
 
const double critof001::kdEpochInPs = static_cast<double>(kuCoarseCounterSize) * kdClockCycleSize
 
const double critof001::kdEpochInNs = kdEpochInPs / 1000.0
 
const double critof001::kuEpochInNs = static_cast<uint64_t>(kdEpochInNs)
 
const uint32_t critof001::kuEpochCounterSz = 0xFFFFFF
 Works as epoch integer in ns!
 
const uint64_t critof001::kulEpochCycleEp = static_cast<uint64_t>(kuEpochCounterSz + 1)
 
const uint64_t critof001::kulEpochCycleBins = kulEpochCycleEp * kuEpochInBins
 
const uint64_t critof001::kulEpochCycleInNs = kulEpochCycleBins * kuEpochInNs
 
const double critof001::kdEpochCycleInS = static_cast<double>(kuEpochCounterSz + 1) * (kdEpochInNs / 1e9)
 
const uint64_t critof001::kulEpochCycleFieldSz = 0x1FFFFF
 
const uint32_t critof001::kuChipIdMergedEpoch = 255
 
const uint32_t critof001::kuFeePulserChannel = 3
 
const uint32_t critof001::kuFeePulserChannelDiam = 0
 
const uint64_t critof001::kuEndOfMsMask = 0xFFFFFFFFFFFF
 
const uint64_t critof001::kuEndOfMsMarker = 0xdeadbeeeeeef