20 UInt_t uStarDaqCmdIn, UInt_t uStarTrigCmdIn, UShort_t usGdpbId)
22 , fulGdpbTsFull(ulGdpbTsFullIn)
23 , fulStarTsFull(ulStarTsFullIn)
24 , fuStarToken(uStarTokenIn)
25 , fusStarDaqCmd(uStarDaqCmdIn)
26 , fusStarTrigCmd(uStarTrigCmdIn)
35 return uThisTs < uOtherTs;
55 std::vector<gdpbv100::FullMessage> vMsgs(4, mCommonData);
58 vMsgs[0].setStarTrigMsgIndex(0);
61 vMsgs[1].setStarTrigMsgIndex(1);
65 vMsgs[2].setStarTrigMsgIndex(2);
68 vMsgs[3].setStarTrigMsgIndex(3);
70 vMsgs[3].setStarFillerD();
81 : fbTriggerSet(kFALSE)
84 , fulEventStatusFlags(0)
85 , fuEventSizeBytes(4 * sizeof(ULong64_t))
92 , fusSourceId(sourceIdIn)
93 , fulEventStatusFlags(0)
94 , fuEventSizeBytes(4 * sizeof(ULong64_t))
100 : fbTriggerSet(eventIn.fbTriggerSet)
101 , fTrigger(eventIn.fTrigger)
102 , fusSourceId(eventIn.fusSourceId)
103 , fulEventStatusFlags(eventIn.fulEventStatusFlags)
104 , fuEventSizeBytes(eventIn.fuEventSizeBytes)
105 , fvMsgBuffer(eventIn.fvMsgBuffer)
134 iOutputSizeBytes = 0;
138 iOutputSizeBytes = 0;
145 iOutputSizeBytes *=
sizeof(ULong64_t);
173 for (UInt_t uMsgIdx = 0; uMsgIdx < uMsgsToRead; uMsgIdx++) {
178 return static_cast<void*
>(
fpulBuff);
183 if (NULL == pBuff || 0 == iInputSizeBytes)
return kFALSE;
185 Int_t iRestBytes = iInputSizeBytes %
sizeof(ULong64_t);
186 Int_t iInputSzLg = iInputSizeBytes /
sizeof(ULong64_t);
190 if (iInputSzLg < 4 || 0 < iRestBytes)
return kFALSE;
196 ULong64_t* pulLongBuff =
static_cast<ULong64_t*
>(pBuff);
197 ULong64_t ulTrgGdpbFullTs = pulLongBuff[0];
198 ULong64_t ulTrgStarFullTs = pulLongBuff[1];
199 UInt_t uStarToken = (pulLongBuff[2] >> 32) & 0xFFF;
200 UInt_t uStarDaqCmdIn = (pulLongBuff[2] >> 16) & 0x00F;
201 UInt_t uStarTrigCmdIn = (pulLongBuff[2]) & 0x00F;
215 UInt_t uMsgsToRead = (iInputSzLg - 4) / 2;
216 for (UInt_t uMsgIdx = 0; uMsgIdx < uMsgsToRead; uMsgIdx++) {
225 std::cout <<
"-------------------------------------------------------" << std::endl;
226 std::cout <<
"Printing CbmTofStarSubevent2019 dump" << std::endl;
231 std::cout <<
"Status flags = " << std::hex << std::setw(16) <<
fulEventStatusFlags << std::dec << std::endl;
235 for (UInt_t uMsgIdx = 0; uMsgIdx <
fvMsgBuffer.size(); uMsgIdx++) {
239 std::cout <<
"-------------------------------------------------------" << std::endl;
static const uint32_t kuMaxOutputSize
static const uint64_t kulEventSizeMask
static const uint64_t kulSourceIdMask
void * BuildOutput(Int_t &iOutputSizeBytes)
void SetSource(UShort_t sourceIdIn)
static const uint64_t kulSourceIdOffset
Incomplete event: at least one gDPB missed the trigger signal.
std::vector< gdpbv100::FullMessage > fvMsgBuffer
ULong64_t fulEventStatusFlags
Bool_t LoadInput(void *pBuff, Int_t iInputSizeBytes)
static const uint32_t kuMaxNbMsgs
static const uint64_t kulEventSizeOffset
ULong64_t fpulBuff[kuMaxOutputSize]
CbmTofStarTrigger2019 fTrigger
~CbmTofStarSubevent2019()
CbmTofStarSubevent2019 operator=(const CbmTofStarSubevent2019 &)
static const uint64_t kulFlagBadEvt
UInt_t GetFullGdpbEpoch() const
ULong64_t GetFullGdpbTs() const
std::vector< gdpbv100::FullMessage > GetGdpbMessages() const
UShort_t GetStarTrigCmd() const
CbmTofStarTrigger2019(ULong64_t ulGdpbTsFullIn, ULong64_t ulStarTsFullIn, UInt_t uStarTokenIn, UInt_t uStarDaqCmdIn, UInt_t uStarTrigCmdIn, UShort_t usGdpbId=0)
ULong64_t GetFullStarTs() const
void SetFullStarTs(ULong64_t ulStarTsFullIn)
void SetStarDaqCmd(UInt_t uStarDaqCmdIn)
UInt_t GetStarTrigerWord() const
void SetStarTRigCmd(UInt_t uStarTrigCmdIn)
void SetStarToken(UInt_t uStarTokenIn)
UShort_t GetStarDaqCmd() const
bool operator<(const CbmTofStarTrigger2019 &other) const
strict weak ordering operator, assumes same TS cycle for both triggers
void SetFullGdpbTs(ULong64_t ulGdpbTsFullIn)
UInt_t GetStarToken() const
const uint32_t kuEpochCounterSz