17#ifndef O2_MID_CLUSTERIZER_H
18#define O2_MID_CLUSTERIZER_H
21#include <unordered_map>
22#include <unordered_set>
42 bool init(std::function<
void(
size_t,
size_t)>
func = [](
size_t,
size_t) {});
52 void process(gsl::span<const PreCluster>
preClusters, gsl::span<const ROFRecord> rofRecords);
55 const std::vector<Cluster>&
getClusters() {
return mClusters; }
67 bool loadPreClusters(gsl::span<const PreCluster>&
preClusters);
78 void makeCluster(
const MpArea& areaBP,
const MpArea& areaNBP, uint8_t deId);
84 void makeCluster(
const MpArea& area,
const uint8_t deId,
int cathode);
93 gsl::span<const PreCluster> mPreClusters;
94 std::unordered_map<uint8_t, PreClustersDE> mPreClustersDE{};
95 std::unordered_set<uint8_t> mActiveDEs{};
96 PreClusterHelper mPreClusterHelper{};
97 std::vector<Cluster> mClusters{};
98 std::vector<ROFRecord> mROFRecords{};
99 size_t mPreClusterOffset{0};
101 std::function<
void(
size_t,
size_t)> mFunction{[](size_t, size_t) {}};
Pre-cluster structure for MID.
Pre-clusters helper for MID.
Structure with pre-clusters in the MID detection element.
Clusterizing algorithm for MID.
const std::vector< Cluster > & getClusters()
Gets the vector of reconstructed clusters.
const std::vector< ROFRecord > & getROFRecords()
Gets the vector of clusters RO frame records.
bool init(std::function< void(size_t, size_t)> func=[](size_t, size_t) {})
void process(gsl::span< const PreCluster > preClusters, bool accumulate=false)
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
gsl::span< const PreCluster > preClusters(preClusterizer.getPreClusters().data(), preClusterizer.getPreClusters().size())
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...