16#include <fairlogger/Logger.h>
27#ifdef _ClusterTopology_
29 void Cluster::resetPattern()
36Bool_t Cluster::testPixel(UShort_t
row, UShort_t
col)
const
39 int nbits =
row * getPatternColSpan() +
col;
42 int bytn = nbits >> 3;
43 int bitn = 7 - (nbits % 8);
44 return (mPattern[bytn] & (0x1 << bitn)) != 0;
75 printf(
"XYZ: %+.4e %+.4e %+.4e\n",
getX(),
getY(),
getZ());
77#ifdef _ClusterTopology_
78 int nr = getPatternRowSpan();
79 int nc = getPatternColSpan();
80 printf(
"Pattern: %d rows from %d", nr, mPatternRowMin);
81 if (isPatternRowsTruncated())
82 printf(
"(truncated)");
83 printf(
", %d cols from %d", nc, mPatternColMin);
84 if (isPatternColsTruncated())
85 printf(
"(truncated)");
87 for (
int ir = 0;
ir < nr;
ir++) {
88 for (
int ic = 0; ic < nc; ic++)
89 printf(
"%c", testPixel(
ir, ic) ?
'+' :
'-');
95#ifdef _ClusterTopology_
97void Cluster::getDiffPattern(std::vector<std::pair<short, short>>& diffv,
short colRef,
short rowRef)
const
100 int nr = getPatternRowSpan();
101 int nc = getPatternColSpan();
103 for (
short ir = 0;
ir < nr;
ir++) {
104 for (
short ic0 = 0; ic0 < nc; ic0++) {
105 short ic = (
ir & 0x1) ? nc - ic0 - 1 : ic0;
106 if (testPixel(
ir, ic)) {
107 short row =
ir + mPatternRowMin,
col = ic + mPatternColMin;
108 short drow =
row - rowRef, dcol =
col - colRef;
109 if (!dcol && !drow) {
112 diffv.emplace_back(dcol, drow);
119 diffv.emplace_back(0, 0);
std::int16_t getSensorID() const
void print(Option_t *opt="") const
Cluster class for the ITSMFT.
o2::InteractionRecord ir(0, 0)