Implementation of the clustering Clusters elements of a given collection using the relations presented by a neighorhood.
More...
|
void | apply (std::vector< ACellHolder * > const &cellHolders, std::vector< WeightedRelation< ACellHolder > > const &cellHolderRelations, std::vector< ACluster > &clusters) override |
| Creates the clusters. More...
|
|
virtual std::string | getDescription () |
| Brief description of the purpose of the concret findlet.
|
|
virtual void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) |
| Forward prefixed parameters of this findlet to the module parameter list.
|
|
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
| Main function executing the algorithm.
|
|
void | initialize () override |
| Receive and dispatch signal before the start of the event processing.
|
|
void | beginRun () override |
| Receive and dispatch signal for the beginning of a new run.
|
|
void | beginEvent () override |
| Receive and dispatch signal for the start of a new event.
|
|
void | endRun () override |
| Receive and dispatch signal for the end of the run.
|
|
void | terminate () override |
| Receive and dispatch Signal for termination of the event processing.
|
|
|
void | expandCluster (std::vector< WeightedRelation< ACellHolder >> const &cellHolderRelations, std::vector< ACellHolder * > &cluster) const |
| Helper function. Starting a new cluster and iterativelly expands it.
|
|
void | setCellState (ACellHolder *cellHolder, Weight cellState) const |
| Setter for the cell state of a pointed object that holds an AutomatonCell.
|
|
Weight | getCellState (ACellHolder *cellHolder) const |
| Getter for the cell state of a pointed object that holds an AutomatonCell.
|
|
void | setCellWeight (ACellHolder *cellHolder, Weight cellWeight) const |
| Setter for the cell weight of a pointed object that holds an AutomatonCell.
|
|
template<class ACellHolder, class ACluster = std::vector<ACellHolder*>>
class Belle2::TrackFindingCDC::Clusterizer< ACellHolder, ACluster >
Implementation of the clustering Clusters elements of a given collection using the relations presented by a neighorhood.
A cluster is essentially a connected subset of all cells that can reach each other by one more relations in a neighborhood. The algorithm is essentially an iterative expansion of the neighborhood relations keeping track of the already used cells by using the CellState of the AutomatonCell.
- ACellHolder must therefore provide an AutomatonCell accessable by a getAutomatonCell() method. In case the objects you what to cluster do not contain an automaton cell already you may adopt it by using the WithAutomatonCell mixin.
- ACluster can be anything that is default constructable and supports .insert(end(), ACellHolder*).
Definition at line 40 of file Clusterizer.h.