21#ifndef ALICEO2_IOTOF_TOPOLOGYCLASSIFIER_H
22#define ALICEO2_IOTOF_TOPOLOGYCLASSIFIER_H
26#include <unordered_map>
79 LOG(info) <<
"---> TopologyInfo: Topology = " <<
static_cast<int>(
mTopology)
86 <<
", Pattern (bitmask) = 0x" << std::hex <<
mPattern;
100 sSegmentation = o2::iotof::Segmentation::Instance();
104 sSegmentation = o2::iotof::Segmentation::Instance();
107 const std::unordered_map<uint32_t, TopologyInfo>&
getTopologyMap()
const {
return mTopologyCache; };
108 void getTopology(uint16_t
bitmask, uint16_t minRow, uint8_t spanRow, uint16_t minCol, uint8_t spanCol, uint32_t& topology);
110 void accountTopology(uint16_t
bitmask, uint16_t minRow, uint8_t spanRow, uint16_t minCol, uint8_t spanCol);
129 return (
static_cast<uint32_t
>(spanRow) << 24) |
130 (
static_cast<uint32_t
>(spanCol) << 16) |
131 static_cast<uint32_t
>(
bitmask);
136 [[nodiscard]]
static constexpr uint32_t packKey(uint8_t spanRow, uint8_t spanCol, uint16_t
bitmask)
noexcept
138 return (
static_cast<uint32_t
>(spanRow) << 24) |
139 (
static_cast<uint32_t
>(spanCol) << 16) |
140 static_cast<uint32_t
>(
bitmask);
143 std::unordered_map<uint32_t, TopologyInfo> mTopologyCache;
std::bitset< 80 > bitmask
Definition of the Segmentation class.
Segmentation and response for pixels in inner and outer TOF of the ALICE 3 apparatus.
void saveCacheToFile(const char *filename)
void computeCOG(uint16_t bitmask, uint16_t minRow, uint8_t spanRow, uint16_t minCol, uint8_t spanCol, TopologyInfo &topoInfo)
static constexpr uint8_t MaxColSpan
float getMeanX(uint32_t pattID)
const std::unordered_map< uint32_t, TopologyInfo > & getTopologyMap() const
void accountTopology(uint16_t bitmask, uint16_t minRow, uint8_t spanRow, uint16_t minCol, uint8_t spanCol)
void getTopology(uint16_t bitmask, uint16_t minRow, uint8_t spanRow, uint16_t minCol, uint8_t spanCol, uint32_t &topology)
float getNPixels(uint32_t pattID)
static constexpr uint16_t MaxBitmask
float getErrZ(uint32_t pattID)
float getErrX(uint32_t pattID)
void setGeometry(const o2::iotof::GeometryTGeo *gm)
TopologyClassifier(std::unordered_map< uint32_t, TopologyInfo > map)
static uint32_t makeKey(uint8_t spanRow, uint8_t spanCol, uint16_t bitmask)
math_utils::Point3D< float > getClusterCoordinates(const Cluster &cluster)
TopologyInfo getTopologyFeatures(uint32_t key)
float getMeanZ(uint32_t pattID)
static constexpr uint8_t MaxRowSpan
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
uint16_t mPattern
Bitmask of fired pixels.
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"