|
template<typename CellCollection, typename ClusterCollection, std::size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
requires (GridDim == 1 || GridDim == 2) |
| void | createClusters (Acts::Ccl::ClusteringData &data, CellCollection &cells, ClusterCollection &clusters, Connect &&connect=Connect()) |
| | createClusters Convenience function which runs both labelClusters and mergeClusters.
|
| template<typename CellCollection, std::size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>> |
| void | labelClusters (Acts::Ccl::ClusteringData &data, CellCollection &cells, Connect &&connect=Connect()) |
| | labelClusters
|
template<typename CellCollection, typename ClusterCollection>
requires (Acts::Ccl::CanAcceptCell<typename CellCollection::value_type, typename ClusterCollection::value_type>) |
| void | mergeClusters (Acts::Ccl::ClusteringData &data, const CellCollection &cells, ClusterCollection &outv) |
| | mergeClusters
|
template<typename CellCollection, std::size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
labelClusters
In-place connected component labelling using the Hoshen-Kopelman algorithm. The Cell type must have the following functions defined: int getCellRow(const Cell&), int getCellColumn(const Cell&)
- Parameters
-
| [in] | data | collection of quantities for clusterization |
| [in] | cells | the cell collection to be labeled |
| [in] | connect | the connection type (see DefaultConnect) |
- Exceptions
-
| std::invalid_argument | if the input contains duplicate cells. |