File Clusterization.hpp

Variables

template<typename T>
constexpr bool CellConcept = Concepts::CellConceptImpl<T>::value
namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

Functions

template<typename cell_t>
std::vector<std::vector<cell_t>> createClusters(std::unordered_map<size_t, std::pair<cell_t, bool>> &cellMap, size_t nBins0, bool commonCorner = true, double threshold = 0.)

create clusters This function recieves digitization cells and bundles the neighbouring to create clusters later and does cell merging.

Furthermore an energy cut (excluding cells which fall below threshold) can be applied. The function is templated on the cell type to allow users to use their own implementation

Template Parameters

Cell – the digitizated cell

Parameters
  • cellMap[in] map of all cells per cell ID on module

  • nBins0[in] number of bins in direction 0

  • commonCorner[in] flag indicating if also cells sharing a common corner should be merged into one cluster

  • threshold[in] possible activation threshold to be applied

Returns

vector (the different clusters) of vector of digitization cells (the cells which belong to each cluster)

template<typename cell_t>
void fillCluster(std::vector<std::vector<cell_t>> &mergedCells, std::unordered_map<size_t, std::pair<cell_t, bool>> &cellMap, size_t index, size_t nBins0, bool commonCorner = true, double activation = 0.)

fillCluster This function is a helper function internally used by Acts::createClusters.

It does connected component labelling using a hash map in order to find out which cells are neighbours. This function is called recursively by all neighbours of the current cell. The function is templated on the cell type to allow users to use their own implementation

Template Parameters

Cell – the digitizated cell

Parameters
  • mergedCells[inout] the final vector of cells to which cells of one cluster should be added

  • cellMap[inout] the hashmap of all present cells + a flag indicating if they have been added to a cluster already, with the key being the global grid index

  • index[in] the current global grid index of the cell

  • nBins0[in] number of bins in direction 0

  • commonCorner[in] flag indicating if also cells sharing a common corner should be merged into one cluster

  • activation[in] possible activation threshold to be applied

namespace Concepts
template<typename T>
struct CellConceptImpl
#include <Acts/Clusterization/Clusterization.hpp>

Public Static Attributes

static constexpr bool value = std::is_convertible<std::decay_t<decltype(std::declval<T>().activation())>, double>::value