20 UInt_t uStarDaqCmdIn, UInt_t uStarTrigCmdIn, UShort_t usGdpbId)
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();
134 iOutputSizeBytes = 0;
138 iOutputSizeBytes = 0;
145 iOutputSizeBytes *=
sizeof(ULong64_t);
165 + (
static_cast<ULong64_t
>(
fTrigger.GetStarDaqCmd()) << 16)
166 + (
static_cast<ULong64_t
>(
fTrigger.GetStarTrigCmd()));
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;
208 fTrigger.SetFullGdpbTs(ulTrgGdpbFullTs);
209 fTrigger.SetFullStarTs(ulTrgStarFullTs);
211 fTrigger.SetStarDaqCmd(uStarDaqCmdIn);
212 fTrigger.SetStarTRigCmd(uStarTrigCmdIn);
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;
228 std::cout <<
"Trigger info: gDPB TS = " <<
fTrigger.GetFullGdpbTs() <<
" STAR TS = " <<
fTrigger.GetFullStarTs()
229 <<
" Token = " <<
fTrigger.GetStarToken() <<
" DAQ CMD = " <<
fTrigger.GetStarDaqCmd()
230 <<
" TRIG CMD = " <<
fTrigger.GetStarTrigCmd() << 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
UInt_t GetStarTrigerWord() const
UShort_t GetStarDaqCmd() const
bool operator<(const CbmTofStarTrigger2019 &other) const
strict weak ordering operator, assumes same TS cycle for both triggers
UInt_t GetStarToken() const
const uint32_t kuEpochCounterSz