45 int ipat = (cathode == 1) ? 4 : line;
62 for (
int iline = 0; iline < 4; ++iline) {
79 for (
size_t ipat = 0; ipat < 5; ++ipat) {
91 throw std::runtime_error(
"Cannot merge ColumnData");
93 for (
size_t ipat = 0; ipat < col1.
patterns.size(); ++ipat) {
110 os <<
"deId: " <<
static_cast<int>(
col.deId) <<
" col: " <<
static_cast<int>(
col.columnId);
111 os <<
" NBP: " << std::bitset<16>(
col.getNonBendPattern());
113 for (
int iline = 0; iline < 4; ++iline) {
114 os <<
" " << std::bitset<16>(
col.getBendPattern(iline));
Strip pattern (aka digits)
ColumnData & operator|=(ColumnData &col1, const ColumnData &col2)
std::ostream & operator<<(std::ostream &os, const Cluster &data)
ColumnData operator|(const ColumnData &col1, const ColumnData &col2)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Column data structure for MID.
bool isNBPStripFired(int istrip) const
Checks if strip is fired in the non-bending plane.
uint8_t columnId
Column in DE.
uint16_t getBendPattern(int line) const
Gets the bending plane pattern.
void setPattern(uint16_t pattern, int cathode, int line)
void addStrip(int strip, int cathode, int line)
bool isStripFired(int istrip, int cathode, int line) const
bool isBPStripFired(int istrip, int line) const
Checks if strip is fired in the bending plane.
uint8_t deId
Index of the detection element.
std::array< uint16_t, 5 > patterns
Strip patterns.
bool operator==(const ColumnData &right) const
void setNonBendPattern(uint16_t pattern)
Sets the non-bending plane pattern.
void setBendPattern(uint16_t pattern, int line)
Sets the bending plane pattern.
uint16_t getNonBendPattern() const
Gets the non-bending plane pattern.
uint16_t getPattern(int cathode, int line) const
std::array< uint16_t, 5 > pattern