File Clusterization.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Ccl

Typedefs

using Label = int

Enums

enum ConnectResult

Values:

enumerator eNoConn
enumerator eNoConnStop
enumerator eConn

Functions

template<typename CellCollection, typename ClusterCollection, typename Connect = DefaultConnect<typename CellCollection::value_type>>
ClusterCollection createClusters(CellCollection &cells, Connect connect = Connect())

createClusters Conveniance function which runs both labelClusters and createClusters.

template<typename CellCollection, typename Connect = DefaultConnect<typename CellCollection::value_type>>
void labelClusters(CellCollection &cells, Connect connect = Connect())

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&) int& getCellLabel(Cell&)

Parameters
  • cells[in] the cell collection to be labeled

  • connect[in] the connection type (see DefaultConnect)

template<typename CellCollection, typename ClusterCollection>
ClusterCollection mergeClusters(CellCollection &cells)

mergeClusters

Merge a set of cells previously labeled (for instance with labelClusters) into actual clusters. The Cluster type must have the following function defined: void clusterAddCell(Cluster&, const Cell&)

Parameters

cells[in] the labeled cell collection

Returns

nothing

Variables

constexpr Label NO_LABEL = 0
template<typename Cell>
struct DefaultConnect
#include <Acts/Clusterization/Clusterization.hpp>

Public Functions

inline DefaultConnect()
inline DefaultConnect(bool commonCorner)
ConnectResult operator()(const Cell &ref, const Cell &iter)

Public Members

bool conn8