Belle II Software development
|
Path finder for generic ContainerType. More...
#include <PathCollectorRecursive.h>
Public Types | |
using | Path = std::vector< NodeType * > |
Using Path for vector of pointers to NodeTypes. | |
Public Member Functions | |
bool | findPaths (ContainerType &aNetwork, std::vector< Path > &paths, unsigned int pathLimit, bool storeSubsets=false) |
Main functionality of this class Evaluates provided network and creates all allowed paths. | |
Static Public Member Functions | |
static std::string | printPaths (const std::vector< Path > &allPaths) |
Prints information about all paths provided in a vector of paths. | |
Public Attributes | |
unsigned int | minPathLength = 2 |
public Data members: | |
unsigned int | nTrees = 0 |
Counter for number of trees found. | |
unsigned int | nRecursiveCalls = 0 |
Counter for number of recursive calls. | |
bool | m_storeSubsets = false |
flag if subsets should be stored or not | |
Protected Member Functions | |
Path | clone (const Path &aPath) const |
Copies path to create an identical one. | |
void | storeAcceptedPath (Path newPath, std::vector< Path > &allNodePaths) const |
Tests length requirement on a path before adding it to path vector. | |
void | findPathsRecursive (std::vector< Path > &allNodePaths, Path ¤tPath, NeighbourContainerType &innerNeighbours) |
Recursive pathFinder: Collects all possible segment combinations to build paths. | |
Protected Attributes | |
NodeCompatibilityCheckerType | m_compatibilityChecker |
protected Data members: | |
Path finder for generic ContainerType.
Uses recursive collection process and returns vector of paths, which are vectors of NodeType*.
Requirements for ContainerType:
Requirements for NodeType:
Requirements for NeighbourContainerType:
Requirements for NodeCompatibilityCheckerType:
Definition at line 44 of file PathCollectorRecursive.h.
Using Path for vector of pointers to NodeTypes.
Definition at line 47 of file PathCollectorRecursive.h.
Copies path to create an identical one.
Definition at line 117 of file PathCollectorRecursive.h.
|
inline |
Main functionality of this class Evaluates provided network and creates all allowed paths.
All found paths are filled into the provided vector 'paths'. If storeSubsets is turned on, also the sub-paths are saved to vector 'paths'. If a defined limit on the number of possible paths is exceeded, the search is aborted, and false is returned.
Definition at line 57 of file PathCollectorRecursive.h.
|
inlineprotected |
Recursive pathFinder: Collects all possible segment combinations to build paths.
Definition at line 137 of file PathCollectorRecursive.h.
|
inlinestatic |
Prints information about all paths provided in a vector of paths.
Definition at line 93 of file PathCollectorRecursive.h.
Tests length requirement on a path before adding it to path vector.
Definition at line 128 of file PathCollectorRecursive.h.
|
protected |
protected Data members:
Stores mini-Class for checking compatibility of two nodes passed.
Definition at line 197 of file PathCollectorRecursive.h.
bool m_storeSubsets = false |
flag if subsets should be stored or not
Definition at line 192 of file PathCollectorRecursive.h.
unsigned int minPathLength = 2 |
public Data members:
parameter for setting minimal path length: path length == number of nodes collected in a row from given network, this is not necessarily number of hits!
Definition at line 183 of file PathCollectorRecursive.h.
unsigned int nRecursiveCalls = 0 |
Counter for number of recursive calls.
Definition at line 189 of file PathCollectorRecursive.h.
unsigned int nTrees = 0 |
Counter for number of trees found.
Definition at line 186 of file PathCollectorRecursive.h.