CrossedTrackSplittingAlgorithm class. More...
#include <CrossedTrackSplittingAlgorithm.h>
Public Member Functions | |
CrossedTrackSplittingAlgorithm () | |
Default constructor. More... | |
Public Member Functions inherited from lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm | |
TwoDSlidingFitSplittingAndSwitchingAlgorithm () | |
Default constructor. More... | |
Private Types | |
typedef KDTreeLinkerAlgo < const pandora::CaloHit *, 2 > | HitKDTree2D |
typedef KDTreeNodeInfoT< const pandora::CaloHit *, 2 > | HitKDNode2D |
typedef std::vector< HitKDNode2D > | HitKDNode2DList |
typedef std::unordered_map < const pandora::Cluster *, pandora::ClusterSet > | ClusterToClustersMap |
typedef std::unordered_map < const pandora::CaloHit *, const pandora::Cluster * > | HitToClusterMap |
Private Member Functions | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
pandora::StatusCode | PreparationStep (const pandora::ClusterVector &clusterVector) |
Perform any preparatory actions, such as caching information for subsequent expensive calculations. More... | |
pandora::StatusCode | TidyUpStep () |
Tidy up any information cached in e.g. the preparation step. More... | |
pandora::StatusCode | FindBestSplitPosition (const TwoDSlidingFitResult &slidingFit1, const TwoDSlidingFitResult &slidingFit2, pandora::CartesianVector &splitPosition, pandora::CartesianVector &direction1, pandora::CartesianVector &direction2) const |
Find the best split position and direction for a pair of clusters. More... | |
void | FindCandidateSplitPositions (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, pandora::CartesianPointVector &candidateVector) const |
Find average positions of pairs of hits within a maximum separation. More... | |
Private Attributes | |
float | m_maxClusterSeparation |
maximum separation of two clusters More... | |
float | m_maxClusterSeparationSquared |
maximum separation of two clusters (squared) More... | |
float | m_minCosRelativeAngle |
maximum relative angle between tracks after un-crossing More... | |
float | m_searchRegion1D |
Search region, applied to each dimension, for look-up from kd-trees. More... | |
ClusterToClustersMap | m_nearbyClusters |
The nearby clusters map. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm | |
virtual pandora::StatusCode | Run () |
CrossedTrackSplittingAlgorithm class.
Definition at line 28 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Definition at line 41 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Definition at line 38 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Definition at line 39 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Definition at line 37 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Definition at line 42 of file CrossedTrackSplittingAlgorithm.h.
lar_content::CrossedTrackSplittingAlgorithm::CrossedTrackSplittingAlgorithm | ( | ) |
Default constructor.
Definition at line 23 of file CrossedTrackSplittingAlgorithm.cc.
|
privatevirtual |
Find the best split position and direction for a pair of clusters.
slidingFit1 | the sliding linear fit to the first cluster |
slidingFit2 | the sliding linear fit to the second cluster |
splitPosition | the output split position |
direction1 | the output direction of the first new cluster |
direction2 | the output direction of the second new cluster |
Implements lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm.
Definition at line 86 of file CrossedTrackSplittingAlgorithm.cc.
|
private |
Find average positions of pairs of hits within a maximum separation.
pCluster1 | the first cluster |
pCluster2 | the second cluster |
candidateVector | to receive the average positions |
Definition at line 241 of file CrossedTrackSplittingAlgorithm.cc.
|
privatevirtual |
Perform any preparatory actions, such as caching information for subsequent expensive calculations.
clusterVector | the cluster vector |
Reimplemented from lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm.
Definition at line 33 of file CrossedTrackSplittingAlgorithm.cc.
|
privatevirtual |
Reimplemented from lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm.
Definition at line 274 of file CrossedTrackSplittingAlgorithm.cc.
|
privatevirtual |
Tidy up any information cached in e.g. the preparation step.
Reimplemented from lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm.
Definition at line 77 of file CrossedTrackSplittingAlgorithm.cc.
|
private |
maximum separation of two clusters
Definition at line 60 of file CrossedTrackSplittingAlgorithm.h.
|
private |
maximum separation of two clusters (squared)
Definition at line 61 of file CrossedTrackSplittingAlgorithm.h.
|
private |
maximum relative angle between tracks after un-crossing
Definition at line 62 of file CrossedTrackSplittingAlgorithm.h.
|
private |
The nearby clusters map.
Definition at line 65 of file CrossedTrackSplittingAlgorithm.h.
|
private |
Search region, applied to each dimension, for look-up from kd-trees.
Definition at line 64 of file CrossedTrackSplittingAlgorithm.h.