Cluster¶
-
template<typename T, uint8_t ClusterSizeX, uint8_t ClusterSizeY, typename CoordType = uint16_t>
struct Cluster¶ Cluster struct.
Public Functions
Public Members
-
std::array<T, ClusterSizeX * ClusterSizeY> data¶
Cluster data stored in row-major order starting from top-left.
Public Static Attributes
-
static uint8_t cluster_size_x = ClusterSizeX¶
-
static uint8_t cluster_size_y = ClusterSizeY¶
-
std::array<T, ClusterSizeX * ClusterSizeY> data¶
Free Functions:
-
template<typename T, uint8_t ClusterSizeX, uint8_t ClusterSizeY, typename CoordType = int16_t>
Cluster<T, 3, 3, CoordType> aare::reduce_to_3x3(const Cluster<T, ClusterSizeX, ClusterSizeY, CoordType> &c)¶ Reduce a cluster to a 3x3 cluster.
- Parameters:
c – Cluster to reduce
- Returns:
reduced cluster
-
template<typename T, uint8_t ClusterSizeX, uint8_t ClusterSizeY, typename CoordType = uint16_t>
Cluster<T, 2, 2, CoordType> aare::reduce_to_2x2(const Cluster<T, ClusterSizeX, ClusterSizeY, CoordType> &c)¶ Reduce a cluster to a 2x2 cluster by selecting the 2x2 block with the highest sum.
Note
The cluster is filled using row major ordering starting at the top-left (thus for a max subcluster in the top left cornern the photon hit is at the fourth position)
- Parameters:
c – Cluster to reduce
- Returns:
reduced cluster