17#ifndef O2_MID_COLUMNDATA_H
18#define O2_MID_COLUMNDATA_H
45 uint16_t
getPattern(
int cathode,
int line)
const;
47 void addStrip(
int strip,
int cathode,
int line);
54 bool isStripFired(
int istrip,
int cathode,
int line)
const;
61ColumnData
operator|(
const ColumnData& col1,
const ColumnData& col2);
62ColumnData&
operator|=(ColumnData& col1,
const ColumnData& col2);
63std::ostream&
operator<<(std::ostream& os,
const ColumnData&
col);
66inline uint16_t
getColumnDataUniqueId(uint8_t deId, uint8_t columnId) {
return (
static_cast<uint16_t
>(deId) << 4) | columnId; }
ColumnData & operator|=(ColumnData &col1, const ColumnData &col2)
std::ostream & operator<<(std::ostream &os, const Cluster &data)
uint16_t getColumnDataUniqueId(uint8_t deId, uint8_t columnId)
Gets an unique ID for the ColumnData.
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