64 struct DetectionElement;
74 void reset(
int deIndex);
76 void preClusterizeRecursive();
77 void addPad(DetectionElement&
de, uint16_t iPad, PreCluster& cluster);
79 int mergePreClusters();
80 void mergePreClusters(PreCluster& cluster, std::vector<std::unique_ptr<PreCluster>> preClusters[2],
81 int nPreClusters[2], DetectionElement&
de,
int iPlane, PreCluster*& mergedCluster);
82 PreCluster* usePreClusters(PreCluster* cluster, DetectionElement&
de);
83 void mergePreClusters(PreCluster& cluster1, PreCluster& cluster2, DetectionElement&
de);
85 bool areOverlapping(PreCluster& cluster1, PreCluster& cluster2, DetectionElement&
de,
float precision);
89 static constexpr int SNDEs = 156;
91 std::vector<std::unique_ptr<DetectionElement>> mDEs;
92 std::unordered_map<int, int> mDEIndices{};
94 int mNPreClusters[SNDEs][2]{};
95 std::vector<std::unique_ptr<PreCluster>> mPreClusters[SNDEs][2]{};