27 auto dataIt = mData.find(uniqueId);
28 if (dataIt == mData.end()) {
29 auto& newCol = mData[uniqueId];
31 newCol.columnId = columnId;
32 dataIt = mData.find(uniqueId);
34 dataIt->second.addStrip(strip, cathode, lineId);
40 auto dataIt = mData.find(uniqueId);
42 if (dataIt == mData.end()) {
44 mData[uniqueId] =
col;
46 dataIt->second |=
col;
48 mCorrespondence[uniqueId].emplace_back(idx);
55 for (
size_t ic = 0,
end = colVec.size(); ic <
end; ++ic) {
56 merge(colVec[ic], idx + ic);
63 std::vector<ColumnData>
data;
64 for (
auto& item : mData) {
65 data.emplace_back(item.second);
73 mCorrespondence.clear();
79 auto corrIt = mCorrespondence.find(uniqueId);
80 if (corrIt == mCorrespondence.end()) {
81 return std::vector<size_t>{};
83 return corrIt->second;
void clear()
Clears inner maps.
std::vector< size_t > getMergedIndexes(const ColumnData &col) const
Returns the indexes of the ColumnData merged into this one.
void add(uint8_t deId, uint8_t columnId, int lineId, int strip, int cathode)
Add single strip.
bool merge(const ColumnData &col, size_t idx=0)
Merges digit.
std::vector< ColumnData > getMerged() const
Returns the merged data.
uint16_t getColumnDataUniqueId(uint8_t deId, uint8_t columnId)
Gets an unique ID for the ColumnData.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Column data structure for MID.