LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
OverlapMatrix class. More...
#include "LArOverlapMatrix.h"
Classes | |
class | Element |
Element class. More... | |
Public Types | |
typedef T | OverlapResult |
typedef std::vector< Element > | ElementList |
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterList > | ClusterNavigationMap |
typedef std::unordered_map< const pandora::Cluster *, OverlapResult > | OverlapList |
typedef std::unordered_map< const pandora::Cluster *, OverlapList > | TheMatrix |
typedef TheMatrix::const_iterator | const_iterator |
Public Member Functions | |
void | GetUnambiguousElements (const bool ignoreUnavailable, ElementList &elementList) const |
Get unambiguous elements. More... | |
bool | DefaultAmbiguityFunction (const pandora::ClusterList &clusterList1, const pandora::ClusterList &clusterList2, const pandora::Cluster *&pCluster1, const pandora::Cluster *&pCluster2) const |
Default ambiguity function, checking that only one cluster from view 1 and view 2 is found. More... | |
void | GetNConnections (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, unsigned int &n1, unsigned int &n2) const |
Get the number of connections for a specified cluster. More... | |
void | GetConnectedElements (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, ElementList &elementList) const |
Get a list of elements connected to a specified cluster. More... | |
void | GetConnectedElements (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, ElementList &elementList, unsigned int &n1, unsigned int &n2) const |
Get a list of elements connected to a specified cluster. More... | |
const_iterator | begin () const |
Returns an iterator referring to the first element in the overlap matrix. More... | |
const_iterator | end () const |
Returns an iterator referring to the past-the-end element in the overlap matrix. More... | |
void | GetSortedKeyClusters (pandora::ClusterVector &sortedKeyClusters) const |
Get a sorted vector of key clusters (view 1 clusters with current implementation) More... | |
const OverlapResult & | GetOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const |
Get the overlap result for a specified pair of clusters. More... | |
const OverlapList & | GetOverlapList (const pandora::Cluster *const pCluster1) const |
Get the overlap list for a specified cluster. More... | |
const ClusterNavigationMap & | GetClusterNavigationMap12 () const |
Get the cluster navigation map 1->2. More... | |
const ClusterNavigationMap & | GetClusterNavigationMap21 () const |
Get the cluster navigation map 2->1. More... | |
void | SetOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const OverlapResult &overlapResult) |
Set overlap result. More... | |
void | ReplaceOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const OverlapResult &overlapResult) |
SetReplace an existing overlap result. More... | |
void | RemoveCluster (const pandora::Cluster *const pCluster) |
Remove entries from matrix corresponding to specified cluster. More... | |
void | Clear () |
Clear overlap matrix. More... | |
Private Member Functions | |
void | GetConnectedElements (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, ElementList &elementList, pandora::ClusterList &clusterList1, pandora::ClusterList &clusterList2) const |
Get elements connected to a specified cluster. More... | |
void | ExploreConnections (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, pandora::ClusterList &clusterList1, pandora::ClusterList &clusterList2) const |
Explore connections associated with a given cluster. More... | |
Private Attributes | |
TheMatrix | m_overlapMatrix |
The overlap matrix. More... | |
ClusterNavigationMap | m_clusterNavigationMap12 |
The cluster navigation map 1->2. More... | |
ClusterNavigationMap | m_clusterNavigationMap21 |
The cluster navigation map 2->1. More... | |
OverlapMatrix class.
Definition at line 23 of file LArOverlapMatrix.h.
typedef std::unordered_map<const pandora::Cluster *, pandora::ClusterList> lar_content::OverlapMatrix< T >::ClusterNavigationMap |
Definition at line 131 of file LArOverlapMatrix.h.
typedef TheMatrix::const_iterator lar_content::OverlapMatrix< T >::const_iterator |
Definition at line 135 of file LArOverlapMatrix.h.
typedef std::vector<Element> lar_content::OverlapMatrix< T >::ElementList |
Definition at line 77 of file LArOverlapMatrix.h.
typedef std::unordered_map<const pandora::Cluster *, OverlapResult> lar_content::OverlapMatrix< T >::OverlapList |
Definition at line 132 of file LArOverlapMatrix.h.
typedef T lar_content::OverlapMatrix< T >::OverlapResult |
Definition at line 26 of file LArOverlapMatrix.h.
typedef std::unordered_map<const pandora::Cluster *, OverlapList> lar_content::OverlapMatrix< T >::TheMatrix |
Definition at line 133 of file LArOverlapMatrix.h.
|
inline |
Returns an iterator referring to the first element in the overlap matrix.
Definition at line 265 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_overlapMatrix.
|
inline |
Clear overlap matrix.
Definition at line 325 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_clusterNavigationMap12, lar_content::OverlapMatrix< T >::m_clusterNavigationMap21, and lar_content::OverlapMatrix< T >::m_overlapMatrix.
Referenced by lar_content::TwoViewMatchingControl< T >::TidyUp().
bool lar_content::OverlapMatrix< T >::DefaultAmbiguityFunction | ( | const pandora::ClusterList & | clusterList1, |
const pandora::ClusterList & | clusterList2, | ||
const pandora::Cluster *& | pCluster1, | ||
const pandora::Cluster *& | pCluster2 | ||
) | const |
Default ambiguity function, checking that only one cluster from view 1 and view 2 is found.
clusterList1 | cluster list 1 |
clusterList2 | cluster list 2 |
pCluster1 | to receive the address of the unambiguous cluster 1 |
pCluster2 | to receive the address of the unambiguous cluster 2 |
Definition at line 63 of file LArOverlapMatrix.cc.
|
inline |
Returns an iterator referring to the past-the-end element in the overlap matrix.
Definition at line 273 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_overlapMatrix.
|
private |
Explore connections associated with a given cluster.
pCluster | address of the cluster |
clusterList1 | connected view 1 clusters |
clusterList2 | connected view 2 clusters |
Definition at line 235 of file LArOverlapMatrix.cc.
|
inline |
Get the cluster navigation map 1->2.
Definition at line 309 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_clusterNavigationMap12.
|
inline |
Get the cluster navigation map 2->1.
Definition at line 317 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_clusterNavigationMap21.
|
inline |
Get a list of elements connected to a specified cluster.
pCluster | address of a cluster |
ignoreUnavailable | whether to ignore unavailable clusters |
elementList | to receive the connected element list |
Definition at line 256 of file LArOverlapMatrix.h.
Referenced by lar_content::TwoViewAmbiguousDeltaRayTool::ExamineConnectedElements(), lar_content::TwoViewSimpleTracksTool::FindBestTrack(), lar_content::TwoViewLongTracksTool::FindLongTracks(), lar_content::TwoViewThreeDKinkTool::GetModifications(), lar_content::OverlapMatrix< T >::GetNConnections(), lar_content::TransverseMatrixVisualizationTool::Run(), and lar_content::TwoViewCosmicRayRemovalTool::Run().
void lar_content::OverlapMatrix< T >::GetConnectedElements | ( | const pandora::Cluster *const | pCluster, |
const bool | ignoreUnavailable, | ||
ElementList & | elementList, | ||
unsigned int & | n1, | ||
unsigned int & | n2 | ||
) | const |
Get a list of elements connected to a specified cluster.
pCluster | address of a cluster |
ignoreUnavailable | whether to ignore unavailable clusters |
elementList | to receive the connected element list |
n1 | to receive the number of view 1 connections |
n2 | to receive the number of view 2 connections |
Definition at line 78 of file LArOverlapMatrix.cc.
|
private |
Get elements connected to a specified cluster.
pCluster | address of the cluster |
elementList | the element list |
clusterList1 | connected view 1 clusters |
clusterList2 | connected view 2 clusters |
|
inline |
Get the number of connections for a specified cluster.
pCluster | address of a cluster |
ignoreUnavailable | whether to ignore unavailable clusters |
n1 | to receive the number of view 1 connections |
n2 | to receive the number of view 2 connections |
Definition at line 247 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::GetConnectedElements().
|
inline |
Get the overlap list for a specified cluster.
pCluster1 | address of cluster 1 |
Definition at line 296 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::m_overlapMatrix.
Referenced by lar_content::OverlapMatrix< T >::GetOverlapResult().
|
inline |
Get the overlap result for a specified pair of clusters.
pCluster1 | address of cluster 1 |
pCluster2 | address of cluster 2 |
Definition at line 281 of file LArOverlapMatrix.h.
References lar_content::OverlapMatrix< T >::GetOverlapList().
void lar_content::OverlapMatrix< T >::GetSortedKeyClusters | ( | pandora::ClusterVector & | sortedKeyClusters | ) | const |
Get a sorted vector of key clusters (view 1 clusters with current implementation)
sortedKeyClusters | to receive the sorted vector of key clusters |
Definition at line 90 of file LArOverlapMatrix.cc.
References util::begin(), and util::end().
Referenced by lar_content::TwoViewAmbiguousDeltaRayTool::ExamineConnectedElements(), lar_content::TwoViewSimpleTracksTool::FindBestTrack(), lar_content::TwoViewLongTracksTool::FindLongTracks(), lar_content::TwoViewThreeDKinkTool::GetModifications(), lar_content::TransverseMatrixVisualizationTool::Run(), and lar_content::TwoViewCosmicRayRemovalTool::Run().
void lar_content::OverlapMatrix< T >::GetUnambiguousElements | ( | const bool | ignoreUnavailable, |
ElementList & | elementList | ||
) | const |
Get unambiguous elements.
ignoreUnavailable | whether to ignore unavailable clusters |
elementList | to receive the unambiguous element list |
Definition at line 30 of file LArOverlapMatrix.cc.
References util::begin(), and util::end().
Referenced by lar_content::TwoViewClearTracksTool::Run().
void lar_content::OverlapMatrix< T >::RemoveCluster | ( | const pandora::Cluster *const | pCluster | ) |
Remove entries from matrix corresponding to specified cluster.
pCluster | address of the cluster |
Definition at line 142 of file LArOverlapMatrix.cc.
References util::begin(), and util::end().
Referenced by lar_content::TwoViewMatchingControl< T >::UpdateUponDeletion().
void lar_content::OverlapMatrix< T >::ReplaceOverlapResult | ( | const pandora::Cluster *const | pCluster1, |
const pandora::Cluster *const | pCluster2, | ||
const OverlapResult & | overlapResult | ||
) |
SetReplace an existing overlap result.
pCluster1 | address of cluster 1 |
pCluster2 | address of cluster 2 |
overlapResult | the overlap result |
Definition at line 124 of file LArOverlapMatrix.cc.
void lar_content::OverlapMatrix< T >::SetOverlapResult | ( | const pandora::Cluster *const | pCluster1, |
const pandora::Cluster *const | pCluster2, | ||
const OverlapResult & | overlapResult | ||
) |
Set overlap result.
pCluster1 | address of cluster 1 |
pCluster2 | address of cluster 2 |
overlapResult | the overlap result |
Definition at line 101 of file LArOverlapMatrix.cc.
Referenced by lar_content::TwoViewDeltaRayMatchingAlgorithm::DoesClusterPassTensorThreshold(), and lar_content::TwoViewTransverseTracksAlgorithm::TwoViewTransverseTracksAlgorithm().
|
private |
The cluster navigation map 1->2.
Definition at line 240 of file LArOverlapMatrix.h.
Referenced by lar_content::OverlapMatrix< T >::Clear(), and lar_content::OverlapMatrix< T >::GetClusterNavigationMap12().
|
private |
The cluster navigation map 2->1.
Definition at line 241 of file LArOverlapMatrix.h.
Referenced by lar_content::OverlapMatrix< T >::Clear(), and lar_content::OverlapMatrix< T >::GetClusterNavigationMap21().
|
private |
The overlap matrix.
Definition at line 239 of file LArOverlapMatrix.h.
Referenced by lar_content::OverlapMatrix< T >::begin(), lar_content::OverlapMatrix< T >::Clear(), lar_content::OverlapMatrix< T >::end(), and lar_content::OverlapMatrix< T >::GetOverlapList().