37 inline void onDone(
const ELinkDecoder& decoder, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs) { std::invoke(mOnDone,
this, decoder,
data, rofs); }
39 void set(uint32_t
orbit, uint32_t trigger);
42 uint8_t mUniqueId = 0;
44 uint32_t mRDHOrbit = 0;
48 int16_t mLocalToBCSelfTrig = 0;
49 uint16_t mMaxBunches = 0;
51 typedef void (ELinkDataShaper::*OnDoneFunction)(const ELinkDecoder&,
std::vector<ROBoard>&
data,
std::vector<
ROFRecord>& rofs);
52 OnDoneFunction mOnDone{&ELinkDataShaper::onDoneLoc};
54 void onDoneLoc(
const ELinkDecoder& decoder, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs);
55 void onDoneLocDebug(
const ELinkDecoder& decoder, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs);
56 void onDoneReg(
const ELinkDecoder&, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs){};
57 void onDoneRegDebug(
const ELinkDecoder& decoder, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs);
59 void addLoc(
const ELinkDecoder& decoder,
EventType eventType, InteractionRecord
ir, std::vector<ROBoard>&
data, std::vector<ROFRecord>& rofs);
60 bool checkLoc(
const ELinkDecoder& decoder);
61 EventType processCalibrationTrigger(
const InteractionRecord&
ir);
62 void processHBTrigger(uint16_t localClock, uint8_t triggerWord);
63 EventType processSelfTriggered(InteractionRecord&
ir);
64 bool processTrigger(
const ELinkDecoder& decoder,
EventType& eventType, InteractionRecord&
ir);