25 for (
int istrip = 0; istrip < 16; ++istrip) {
27 ++mScalers[getChannelId(deId, columnId, lineId, istrip, cathode)];
35 for (
int iline = 0; iline < 4; ++iline) {
42 for (
auto& item :
other.mScalers) {
43 mScalers[item.first] += item.second;
50 for (
auto& item : scalers) {
51 os <<
"DeID: " << channelScalers.
getDeId(item.first) <<
" colID: " << channelScalers.
getColumnId(item.first) <<
" lineID: " << channelScalers.
getLineId(item.first) <<
" strip: " << channelScalers.
getStrip(item.first) <<
" cathode: " << channelScalers.
getCathode(item.first) <<
" counts: " << item.second <<
"\n";
void merge(const ChannelScalers &other)
Merges two counters.
void count(const ColumnData &patterns)
const std::unordered_map< uint32_t, uint32_t > & getScalers() const
Gets the scalers.
uint8_t getCathode(uint32_t uniqueId) const
Gets cathode from unique Id.
uint8_t getLineId(uint32_t uniqueId) const
Gets lineId from unique Id.
uint8_t getDeId(uint32_t uniqueId) const
Gets deId from unique Id.
uint8_t getColumnId(uint32_t uniqueId) const
Gets columnId from unique Id.
uint8_t getStrip(uint32_t uniqueId) const
Gets strip from unique Id.
std::ostream & operator<<(std::ostream &os, const Cluster &data)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Column data structure for MID.
uint8_t columnId
Column in DE.
uint16_t getBendPattern(int line) const
Gets the bending plane pattern.
uint8_t deId
Index of the detection element.
uint16_t getNonBendPattern() const
Gets the non-bending plane pattern.
VectorOfTObjectPtrs other
std::array< uint16_t, 5 > pattern