36 void init(uint16_t gbtUniqueId, uint8_t
mask);
37 bool process(gsl::span<const ROBoard> localBoards, gsl::span<const ROFRecord> rofRecords, gsl::span<const ROFRecord> pageRecords);
48 void clear(
bool all =
false);
58 std::array<uint16_t, 4> patternsBP{};
59 std::array<uint16_t, 4> patternsNBP{};
63 std::vector<ROBoard> regs{};
64 std::vector<ROBoard> locs{};
65 std::vector<long int> pages{};
79 void clearChecked(
bool isTriggered,
bool clearTrigEvents);
80 bool checkEvent(
bool isTriggered,
const std::vector<ROBoard>& regs,
const std::vector<ROBoard>& locs,
const InteractionRecord&
ir);
81 bool checkEvents(
bool isTriggered);
82 bool checkConsistency(
const ROBoard& board);
83 bool checkConsistency(
const std::vector<ROBoard>& boards);
84 bool checkMasks(
const std::vector<ROBoard>& locs);
85 bool checkLocalBoardSize(
const ROBoard& board);
86 bool checkLocalBoardSize(
const std::vector<ROBoard>& boards);
87 bool checkRegLocConsistency(
const std::vector<ROBoard>& regs,
const std::vector<ROBoard>& locs,
const InteractionRecord&
ir);
88 uint8_t getElinkId(
const ROBoard& board)
const;
89 InteractionRecord getRawIR(uint8_t
id,
bool isTrigger, InteractionRecord
ir)
const;
90 unsigned int getLastCompleteTrigEvent();
92 std::string printBoards(
const std::vector<ROBoard>& boards)
const;
93 bool runCheckEvents(
unsigned int completeMask);
94 void sortEvents(
bool isTriggered);
96 std::string mEventDebugMsg{};
97 std::string mDebugMsg{};
98 std::array<unsigned long int, 3> mStatistics{};
99 std::unordered_map<uint8_t, Mask> mMasks;
101 uint16_t mGBTUniqueId{0};
102 uint16_t mResetVal{0};
103 ElectronicsDelay mElectronicsDelay{};
104 uint32_t mSyncTrigger{raw::sORB};
106 std::map<o2::InteractionRecord, uint16_t> mTrigEvents{};
108 std::array<std::vector<BusyInfo>, 10> mBusyPeriods{};
110 std::array<std::vector<BoardInfo>, 10> mBoardsTrig{};
111 std::array<std::vector<BoardInfo>, 10> mBoardsSelfTrig{};
113 std::unordered_map<uint64_t, std::vector<std::pair<uint8_t, size_t>>> mOrderedIndexesTrig{};
114 std::unordered_map<uint64_t, std::vector<std::pair<uint8_t, size_t>>> mOrderedIndexesSelfTrig{};
116 std::unordered_map<uint8_t, long int> mLastIndexTrig{};
117 std::unordered_map<uint8_t, long int> mLastIndexSelfTrig{};