|
| template<typename cell_t> |
| constexpr auto | Acts::InPlaceClusterization::traits::getCellDimension () |
| template<typename cell_t> |
| auto | Acts::InPlaceClusterization::traits::getCellCoordinate (const cell_t &a, unsigned int axis_i) |
| | Get the coordinates of a cell.
|
| template<typename cell_t, std::unsigned_integral index_t> |
| void | Acts::InPlaceClusterization::traits::setLabel (cell_t &a, index_t label) |
| | Set a label for a given cell the label type must fit numbers as high as the number of cells which are clustered.
|
| template<typename cell_t> |
| auto | Acts::InPlaceClusterization::traits::getLabel (const cell_t &a) |
| | Get the label associated to the given cell.
|
| template<typename coordinates_t> |
| bool | Acts::InPlaceClusterization::isConnectedCommonEdgeOrCorner (const coordinates_t &coordinates_diff) |
| | test whether cells are connected considering common corners and edges.
|
| template<typename coordinates_t> |
| bool | Acts::InPlaceClusterization::isConnectedCommonEdge (const coordinates_t &coordinates_diff) |
| | test whether cells are connected considering common edges only.
|
| template<EConnectionType connection_type = EConnectionType::CommonEdgeOrCorner, CellCollection cell_container_t = std::span<Cell<int, 2, unsigned int> >> |
| auto | Acts::InPlaceClusterization::defaultConnectionHelper (const cell_container_t &cells) |
| template<typename coordinate_t> |
| auto | Acts::InPlaceClusterization::absDifference (coordinate_t a, coordinate_t b) |
| | compute the absolute difference of two coordinates
|
| template<unsigned int SORT_AXIS, CellCollection cell_collection_t, std::unsigned_integral index_t = unsigned int, typename connection_helper_t> |
| void | Acts::InPlaceClusterization::labelSortedCells (cell_collection_t &cells, connection_helper_t &&connection_helper) |
| | Label cells which are in ascending order of the coordinate of the given axis.
|
| template<unsigned int AXIS, CellCollection cell_collection_t, std::size_t NDim = 2, std::unsigned_integral index_t = unsigned int> |
| void | Acts::InPlaceClusterization::sortCellsByCoordinate (cell_collection_t &cells) |
| | Sort the cells in ascending order of the coordinate of the specified axis.
|
| template<CellCollection cell_collection_t> |
| void | Acts::InPlaceClusterization::groupCellsByLabel (cell_collection_t &cells) |
| | Sort the cells in ascending order of the asscoiated label.
|
| template<unsigned int SORT_AXIS, std::unsigned_integral index_t = unsigned int, CellCollection cell_collection_t = std::span<Cell<int, 2, unsigned int> >, typename connection_helper_t = ConnectionHelper<Cell<int, 2, unsigned int> >> |
| void | Acts::InPlaceClusterization::clusterize (cell_collection_t &cells, connection_helper_t &&connection_helper=ConnectionHelper< typename cell_collection_t::value_type, EConnectionType::CommonEdgeOrCorner >{}) |
| | Sort the cell collection in such a way that cells of a cluster are adjacent.
|
| template<CellCollection cell_collection_t, std::unsigned_integral index_t = unsigned int> |
| std::size_t | Acts::InPlaceClusterization::countLabels (const cell_collection_t &cells) |
| | determine the number of clusters.
|
| template<CellCollection cell_collection_t, typename func_t> |
| void | Acts::InPlaceClusterization::for_each_cluster (cell_collection_t &cells, func_t func) |
| | call the given function for each cluster of a label sorted cell collection.
|
| template<CellCollection cell_collection_t, typename range_collection_t> |
| void | Acts::InPlaceClusterization::addCellRanges (const cell_collection_t &cells, range_collection_t &ranges) |
| | Add element ranges for each cluster in the cell collection to the given range container.
|
| template<unsigned int AXIS, CellCollection cell_collection_t, typename range_collection_t> |
| void | Acts::InPlaceClusterization::addCellRangesAndSort (cell_collection_t &cells, range_collection_t &ranges) |
| | Sort the cells of each cluster by one coordinate and add cell ranges to the given range container.
|