Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Ccl Namespace Reference

Namespaces

namespace  internal
 

Classes

struct  Connect2D
 
struct  Connect1D
 
struct  DefaultConnect
 
struct  DefaultConnect< Cell, 2 >
 
struct  DefaultConnect< Cell, 1 >
 

Typedefs

using Label = int
 

Enumerations

enum  ConnectResult
 

Functions

template<typename CellCollection , size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
void labelClusters (CellCollection &cells, Connect connect=Connect())
 labelClusters
 
template<typename CellCollection , typename ClusterCollection , size_t GridDim>
ClusterCollection mergeClusters (CellCollection &)
 mergeClusters
 
template<typename CellCollection , typename ClusterCollection , size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
ClusterCollection createClusters (CellCollection &cells, Connect connect=Connect())
 createClusters Convenience function which runs both labelClusters and createClusters.
 
template<size_t GridDim>
void recordEquivalences (const internal::Connections< GridDim > seen, internal::DisjointSets &ds)
 

Variables

constexpr Label NO_LABEL = 0
 

Typedef Documentation

using Acts::Ccl::Label = typedef int

Definition at line 16 of file Clusterization.hpp.

View newest version in sPHENIX GitHub at line 16 of file Clusterization.hpp

Enumeration Type Documentation

Definition at line 23 of file Clusterization.hpp.

View newest version in sPHENIX GitHub at line 23 of file Clusterization.hpp

Function Documentation

template<typename CellCollection , typename ClusterCollection , size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
ClusterCollection Acts::Ccl::createClusters ( CellCollection &  cells,
Connect  connect = Connect() 
)

createClusters Convenience function which runs both labelClusters and createClusters.

Definition at line 320 of file Clusterization.ipp.

View newest version in sPHENIX GitHub at line 320 of file Clusterization.ipp

template<typename CellCollection , size_t GridDim = 2, typename Connect = DefaultConnect<typename CellCollection::value_type, GridDim>>
void Acts::Ccl::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
[in]cellsthe cell collection to be labeled
[in]connectthe connection type (see DefaultConnect)

Definition at line 268 of file Clusterization.ipp.

View newest version in sPHENIX GitHub at line 268 of file Clusterization.ipp

References ActsExamples::getCellLabel(), it, recordEquivalences(), and Acts::Experimental::detail::BlueprintHelper::sort().

+ Here is the call graph for this function:

template<typename CellCollection , typename ClusterCollection , size_t GridDim>
ClusterCollection Acts::Ccl::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&)

Returns
nothing

Definition at line 300 of file Clusterization.ipp.

View newest version in sPHENIX GitHub at line 300 of file Clusterization.ipp

References ActsExamples::getCellLabel(), check_smearing_config::lhs, check_smearing_config::rhs, and Acts::Experimental::detail::BlueprintHelper::sort().

+ Here is the call graph for this function:

template<size_t GridDim>
void Acts::Ccl::recordEquivalences ( const internal::Connections< GridDim >  seen,
internal::DisjointSets &  ds 
)

Definition at line 246 of file Clusterization.ipp.

View newest version in sPHENIX GitHub at line 246 of file Clusterization.ipp

References i, NO_LABEL, and Acts::Ccl::internal::DisjointSets::unionSet().

Referenced by labelClusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

constexpr Label Acts::Ccl::NO_LABEL = 0

Definition at line 17 of file Clusterization.hpp.

View newest version in sPHENIX GitHub at line 17 of file Clusterization.hpp

Referenced by Acts::Ccl::internal::ConnectionsBase< 4 >::ConnectionsBase(), and recordEquivalences().