Belle II Software development
|
Predicate class that is feed the nodes in a WeightedHoughTree walk It decides if a node should be further expanded and extracts items from nodes that are considered as leafs to build tracks. More...
#include <AxialLegendreLeafProcessor.h>
Public Types | |
using | Candidate = std::pair< CDCTrajectory2D, std::vector< CDCRLWireHit > > |
Preliminary structure to save found hits and trajectory information. | |
Public Member Functions | |
AxialLegendreLeafProcessor (int maxLevel) | |
Initialize a new processor with the maximum level. | |
bool | operator() (ANode *node) |
Entry point for the WeightedHoughTree walk to ask if a node is a leaf that should not be further divided into sub nodes. | |
bool | skip (const ANode *node) |
Decide if the node should be expanded further or marks an end point of the depth search. | |
bool | isLeaf (const ANode *node) |
Decide when a leaf node is reached that should be processed further. | |
void | processLeaf (ANode *leaf) |
A valuable leaf has been found in the hough tree walk. | |
std::vector< WithSharedMark< CDCRLWireHit > > | searchRoad (const ANode &node, const CDCTrajectory2D &trajectory2D) |
Look for more hits near a ftted trajectory from hits available in the give node. | |
std::vector< Candidate > | getCandidates () const |
Getter for the candidates structure still used in some tests. | |
const std::vector< CDCTrack > & | getTracks () const |
Getter for the tracks. | |
void | clear () |
Clear the found candidates. | |
void | setAxialWireHits (std::vector< const CDCWireHit * > axialWireHits) |
Set the pool of all axial wire hits to be used in the postprocessing. | |
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) |
Expose the parameters as a module parameter list. | |
void | beginWalk () |
Function to notify the leaf processor about changes in parameters before a new walk. | |
Public Attributes | |
int | m_nNodes = 0 |
Statistic: Number received node. | |
int | m_nSkippedNodes = 0 |
Statistic: Number of skipped nodes. | |
int | m_nLeafs = 0 |
Statistic: Number processed leaf. | |
Private Attributes | |
int | m_param_maxLevel = 1 |
Memory for the maximal level of the tree. | |
double | m_param_minWeight = 0 |
Memory for the minimal weight threshold for following the children of a node. | |
double | m_param_maxCurv = NAN |
Memory for the maximal curvature that should be searched in the current walk. | |
double | m_param_curlCurv = 0.018 |
Memory for the curvature of a curler in the CDC. | |
int | m_param_nRoadSearches = 0 |
Memory for the number of repeated road searches. | |
int | m_param_roadLevel = 0 |
Memory for the tree node level which should be the source of hits for the road searches. Defaults to the top most node. | |
std::string | m_param_curvResolution = "const" |
Memory for the name of the resolution function to be used. Valid values are 'none', 'const', 'basic', 'origin', 'offOrigin'. | |
std::vector< CDCTrack > | m_tracks |
Memory for found trajectories. | |
std::vector< const CDCWireHit * > | m_axialWireHits |
Memory for the pool of axial wire hits to can be used in the post processing. | |
std::function< double(double)> | m_curvResolution |
Memory for the freely defined curvature resolution function. | |
Predicate class that is feed the nodes in a WeightedHoughTree walk It decides if a node should be further expanded and extracts items from nodes that are considered as leafs to build tracks.
It accumulates the tracks in a member vector from where they can be taken after the walk over the tree has been completed.
Definition at line 36 of file AxialLegendreLeafProcessor.h.
using Candidate = std::pair<CDCTrajectory2D, std::vector<CDCRLWireHit> > |
Preliminary structure to save found hits and trajectory information.
Definition at line 40 of file AxialLegendreLeafProcessor.h.
|
inlineexplicit |
Initialize a new processor with the maximum level.
Definition at line 44 of file AxialLegendreLeafProcessor.h.
void beginWalk |
Function to notify the leaf processor about changes in parameters before a new walk.
Definition at line 232 of file AxialLegendreLeafProcessor.icc.h.
|
inline |
Clear the found candidates.
Definition at line 117 of file AxialLegendreLeafProcessor.h.
void exposeParameters | ( | ModuleParamList * | moduleParamList, |
const std::string & | prefix | ||
) |
Expose the parameters as a module parameter list.
Definition at line 191 of file AxialLegendreLeafProcessor.icc.h.
std::vector< typename AxialLegendreLeafProcessor< ANode >::Candidate > getCandidates |
Getter for the candidates structure still used in some tests.
Definition at line 176 of file AxialLegendreLeafProcessor.icc.h.
|
inline |
Getter for the tracks.
Definition at line 111 of file AxialLegendreLeafProcessor.h.
|
inline |
Decide when a leaf node is reached that should be processed further.
Definition at line 78 of file AxialLegendreLeafProcessor.h.
|
inline |
Entry point for the WeightedHoughTree walk to ask if a node is a leaf that should not be further divided into sub nodes.
Definition at line 53 of file AxialLegendreLeafProcessor.h.
void processLeaf | ( | ANode * | leaf | ) |
A valuable leaf has been found in the hough tree walk.
Extract its content! It may pull more hits from the whole tree by looking at the top node.
Definition at line 37 of file AxialLegendreLeafProcessor.icc.h.
std::vector< WithSharedMark< CDCRLWireHit > > searchRoad | ( | const ANode & | node, |
const CDCTrajectory2D & | trajectory2D | ||
) |
Look for more hits near a ftted trajectory from hits available in the give node.
Definition at line 124 of file AxialLegendreLeafProcessor.icc.h.
|
inline |
Set the pool of all axial wire hits to be used in the postprocessing.
Definition at line 124 of file AxialLegendreLeafProcessor.h.
|
inline |
Decide if the node should be expanded further or marks an end point of the depth search.
Definition at line 69 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the pool of axial wire hits to can be used in the post processing.
Definition at line 180 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the freely defined curvature resolution function.
Definition at line 183 of file AxialLegendreLeafProcessor.h.
int m_nLeafs = 0 |
Statistic: Number processed leaf.
Definition at line 144 of file AxialLegendreLeafProcessor.h.
int m_nNodes = 0 |
Statistic: Number received node.
Definition at line 138 of file AxialLegendreLeafProcessor.h.
int m_nSkippedNodes = 0 |
Statistic: Number of skipped nodes.
Definition at line 141 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the curvature of a curler in the CDC.
Definition at line 157 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the name of the resolution function to be used. Valid values are 'none', 'const', 'basic', 'origin', 'offOrigin'.
Definition at line 166 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the maximal curvature that should be searched in the current walk.
Definition at line 154 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the maximal level of the tree.
Definition at line 148 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the minimal weight threshold for following the children of a node.
Definition at line 151 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the number of repeated road searches.
Definition at line 160 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for the tree node level which should be the source of hits for the road searches. Defaults to the top most node.
Definition at line 163 of file AxialLegendreLeafProcessor.h.
|
private |
Memory for found trajectories.
Definition at line 177 of file AxialLegendreLeafProcessor.h.