Belle II Software development
|
Implements the weighted cellular automaton algorithm. More...
#include <CellularAutomaton.h>
Classes | |
class | CycleException |
Type for the very basic exception signal used in the detection of cycles. More... | |
Public Member Functions | |
ACellHolder * | applyTo (const std::vector< ACellHolder * > &cellHolders, const std::vector< WeightedRelation< ACellHolder > > &cellHolderRelations) const |
Applies the cellular automaton to the collection of cells and its neighborhood. | |
Private Member Functions | |
Weight | getFinalCellState (ACellHolder *cellHolder, const std::vector< WeightedRelation< ACellHolder > > &cellHolderRelations) const |
Gets the cell state of the cell holder. | |
Weight | updateState (ACellHolder *cellHolder, const std::vector< WeightedRelation< ACellHolder > > &cellHolderRelations) const |
Updates the state of a cell considering all continuations recursively. | |
void | prepareCellFlags (const std::vector< ACellHolder * > &cellHolders) const |
Helper function to prepare the stats. | |
Implements the weighted cellular automaton algorithm.
Definition at line 30 of file CellularAutomaton.h.
|
inline |
Applies the cellular automaton to the collection of cells and its neighborhood.
cellHolders | The range based iterable containing the cells. |
cellHolderRelations | The weighted relations between the cells. |
Definition at line 43 of file CellularAutomaton.h.
|
inlineprivate |
Gets the cell state of the cell holder.
Determines it if necessary traversing the graph. Throws CycleException if it encounters a cycle in the graph.
Definition at line 99 of file CellularAutomaton.h.
|
inlineprivate |
Helper function to prepare the stats.
Clears all temporary cell flags and sets the cell state to minus infinity.
Definition at line 201 of file CellularAutomaton.h.
|
inlineprivate |
Updates the state of a cell considering all continuations recursively.
Definition at line 126 of file CellularAutomaton.h.