Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::OverlapMatrix< T > Class Template Reference

OverlapMatrix class. More...

#include "LArOverlapMatrix.h"

Classes

class  Element
 Element class. More...
 

Public Types

typedef T OverlapResult
 
typedef std::vector< ElementElementList
 
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterListClusterNavigationMap
 
typedef std::unordered_map< const pandora::Cluster *, OverlapResultOverlapList
 
typedef std::unordered_map< const pandora::Cluster *, OverlapListTheMatrix
 
typedef TheMatrix::const_iterator const_iterator
 

Public Member Functions

void GetUnambiguousElements (const bool ignoreUnavailable, ElementList &elementList) const
 Get unambiguous elements.
 
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.
 
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.
 
void GetConnectedElements (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, ElementList &elementList) const
 Get a list of elements connected to a specified cluster.
 
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.
 
const_iterator begin () const
 Returns an iterator referring to the first element in the overlap matrix.
 
const_iterator end () const
 Returns an iterator referring to the past-the-end element in the overlap matrix.
 
void GetSortedKeyClusters (pandora::ClusterVector &sortedKeyClusters) const
 Get a sorted vector of key clusters (view 1 clusters with current implementation)
 
const OverlapResultGetOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2) const
 Get the overlap result for a specified pair of clusters.
 
const OverlapListGetOverlapList (const pandora::Cluster *const pCluster1) const
 Get the overlap list for a specified cluster.
 
const ClusterNavigationMapGetClusterNavigationMap12 () const
 Get the cluster navigation map 1->2.
 
const ClusterNavigationMapGetClusterNavigationMap21 () const
 Get the cluster navigation map 2->1.
 
void SetOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const OverlapResult &overlapResult)
 Set overlap result.
 
void ReplaceOverlapResult (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, const OverlapResult &overlapResult)
 SetReplace an existing overlap result.
 
void RemoveCluster (const pandora::Cluster *const pCluster)
 Remove entries from matrix corresponding to specified cluster.
 
void Clear ()
 Clear overlap matrix.
 

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.
 
void ExploreConnections (const pandora::Cluster *const pCluster, const bool ignoreUnavailable, pandora::ClusterList &clusterList1, pandora::ClusterList &clusterList2) const
 Explore connections associated with a given cluster.
 

Private Attributes

TheMatrix m_overlapMatrix
 The overlap matrix.
 
ClusterNavigationMap m_clusterNavigationMap12
 The cluster navigation map 1->2.
 
ClusterNavigationMap m_clusterNavigationMap21
 The cluster navigation map 2->1.
 

Detailed Description

template<typename T>
class lar_content::OverlapMatrix< T >

OverlapMatrix class.

Definition at line 23 of file LArOverlapMatrix.h.

Member Typedef Documentation

◆ ClusterNavigationMap

template<typename T >
typedef std::unordered_map<const pandora::Cluster *, pandora::ClusterList> lar_content::OverlapMatrix< T >::ClusterNavigationMap

Definition at line 131 of file LArOverlapMatrix.h.

◆ const_iterator

template<typename T >
typedef TheMatrix::const_iterator lar_content::OverlapMatrix< T >::const_iterator

Definition at line 135 of file LArOverlapMatrix.h.

◆ ElementList

template<typename T >
typedef std::vector<Element> lar_content::OverlapMatrix< T >::ElementList

Definition at line 77 of file LArOverlapMatrix.h.

◆ OverlapList

template<typename T >
typedef std::unordered_map<const pandora::Cluster *, OverlapResult> lar_content::OverlapMatrix< T >::OverlapList

Definition at line 132 of file LArOverlapMatrix.h.

◆ OverlapResult

template<typename T >
typedef T lar_content::OverlapMatrix< T >::OverlapResult

Definition at line 26 of file LArOverlapMatrix.h.

◆ TheMatrix

template<typename T >
typedef std::unordered_map<const pandora::Cluster *, OverlapList> lar_content::OverlapMatrix< T >::TheMatrix

Definition at line 133 of file LArOverlapMatrix.h.

Member Function Documentation

◆ begin()

template<typename T >
OverlapMatrix< T >::const_iterator lar_content::OverlapMatrix< T >::begin ( ) const
inline

Returns an iterator referring to the first element in the overlap matrix.

Definition at line 265 of file LArOverlapMatrix.h.

◆ Clear()

template<typename T >
void lar_content::OverlapMatrix< T >::Clear ( )
inline

Clear overlap matrix.

Definition at line 325 of file LArOverlapMatrix.h.

◆ DefaultAmbiguityFunction()

template<typename T >
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.

Parameters
clusterList1cluster list 1
clusterList2cluster list 2
pCluster1to receive the address of the unambiguous cluster 1
pCluster2to receive the address of the unambiguous cluster 2
Returns
boolean

Definition at line 63 of file LArOverlapMatrix.cc.

◆ end()

template<typename T >
OverlapMatrix< T >::const_iterator lar_content::OverlapMatrix< T >::end ( ) const
inline

Returns an iterator referring to the past-the-end element in the overlap matrix.

Definition at line 273 of file LArOverlapMatrix.h.

◆ ExploreConnections()

template<typename T >
void lar_content::OverlapMatrix< T >::ExploreConnections ( const pandora::Cluster *const  pCluster,
const bool  ignoreUnavailable,
pandora::ClusterList clusterList1,
pandora::ClusterList clusterList2 
) const
private

Explore connections associated with a given cluster.

Parameters
pClusteraddress of the cluster
clusterList1connected view 1 clusters
clusterList2connected view 2 clusters

Definition at line 235 of file LArOverlapMatrix.cc.

◆ GetClusterNavigationMap12()

template<typename T >
const OverlapMatrix< T >::ClusterNavigationMap & lar_content::OverlapMatrix< T >::GetClusterNavigationMap12 ( ) const
inline

Get the cluster navigation map 1->2.

Returns
the cluster navigation map 1->2

Definition at line 309 of file LArOverlapMatrix.h.

◆ GetClusterNavigationMap21()

template<typename T >
const OverlapMatrix< T >::ClusterNavigationMap & lar_content::OverlapMatrix< T >::GetClusterNavigationMap21 ( ) const
inline

Get the cluster navigation map 2->1.

Returns
the cluster navigation map 2->1

Definition at line 317 of file LArOverlapMatrix.h.

◆ GetConnectedElements() [1/3]

template<typename T >
void lar_content::OverlapMatrix< T >::GetConnectedElements ( const pandora::Cluster *const  pCluster,
const bool  ignoreUnavailable,
ElementList elementList 
) const
inline

Get a list of elements connected to a specified cluster.

Parameters
pClusteraddress of a cluster
ignoreUnavailablewhether to ignore unavailable clusters
elementListto receive the connected element list

Definition at line 256 of file LArOverlapMatrix.h.

◆ GetConnectedElements() [2/3]

template<typename T >
void lar_content::OverlapMatrix< T >::GetConnectedElements ( const pandora::Cluster *const  pCluster,
const bool  ignoreUnavailable,
ElementList elementList,
pandora::ClusterList clusterList1,
pandora::ClusterList clusterList2 
) const
private

Get elements connected to a specified cluster.

Parameters
pClusteraddress of the cluster
elementListthe element list
clusterList1connected view 1 clusters
clusterList2connected view 2 clusters

Definition at line 198 of file LArOverlapMatrix.cc.

◆ GetConnectedElements() [3/3]

template<typename T >
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.

Parameters
pClusteraddress of a cluster
ignoreUnavailablewhether to ignore unavailable clusters
elementListto receive the connected element list
n1to receive the number of view 1 connections
n2to receive the number of view 2 connections

Definition at line 78 of file LArOverlapMatrix.cc.

◆ GetNConnections()

template<typename T >
void lar_content::OverlapMatrix< T >::GetNConnections ( const pandora::Cluster *const  pCluster,
const bool  ignoreUnavailable,
unsigned int &  n1,
unsigned int &  n2 
) const
inline

Get the number of connections for a specified cluster.

Parameters
pClusteraddress of a cluster
ignoreUnavailablewhether to ignore unavailable clusters
n1to receive the number of view 1 connections
n2to receive the number of view 2 connections

Definition at line 247 of file LArOverlapMatrix.h.

◆ GetOverlapList()

template<typename T >
const OverlapMatrix< T >::OverlapList & lar_content::OverlapMatrix< T >::GetOverlapList ( const pandora::Cluster *const  pCluster1) const
inline

Get the overlap list for a specified cluster.

Parameters
pCluster1address of cluster 1
Returns
the cluster overlap list

Definition at line 296 of file LArOverlapMatrix.h.

◆ GetOverlapResult()

template<typename T >
const OverlapMatrix< T >::OverlapResult & lar_content::OverlapMatrix< T >::GetOverlapResult ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2 
) const
inline

Get the overlap result for a specified pair of clusters.

Parameters
pCluster1address of cluster 1
pCluster2address of cluster 2
Returns
the address of the overlap result

Definition at line 281 of file LArOverlapMatrix.h.

Here is the caller graph for this function:

◆ GetSortedKeyClusters()

template<typename T >
void lar_content::OverlapMatrix< T >::GetSortedKeyClusters ( pandora::ClusterVector sortedKeyClusters) const

Get a sorted vector of key clusters (view 1 clusters with current implementation)

Parameters
sortedKeyClustersto receive the sorted vector of key clusters

Definition at line 90 of file LArOverlapMatrix.cc.

Here is the call graph for this function:

◆ GetUnambiguousElements()

template<typename T >
void lar_content::OverlapMatrix< T >::GetUnambiguousElements ( const bool  ignoreUnavailable,
ElementList elementList 
) const

Get unambiguous elements.

Parameters
ignoreUnavailablewhether to ignore unavailable clusters
elementListto receive the unambiguous element list

Definition at line 30 of file LArOverlapMatrix.cc.

◆ RemoveCluster()

template<typename T >
void lar_content::OverlapMatrix< T >::RemoveCluster ( const pandora::Cluster *const  pCluster)

Remove entries from matrix corresponding to specified cluster.

Parameters
pClusteraddress of the cluster

Definition at line 142 of file LArOverlapMatrix.cc.

◆ ReplaceOverlapResult()

template<typename T >
void lar_content::OverlapMatrix< T >::ReplaceOverlapResult ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
const OverlapResult overlapResult 
)

SetReplace an existing overlap result.

Parameters
pCluster1address of cluster 1
pCluster2address of cluster 2
overlapResultthe overlap result

Definition at line 124 of file LArOverlapMatrix.cc.

◆ SetOverlapResult()

template<typename T >
void lar_content::OverlapMatrix< T >::SetOverlapResult ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
const OverlapResult overlapResult 
)

Set overlap result.

Parameters
pCluster1address of cluster 1
pCluster2address of cluster 2
overlapResultthe overlap result

Definition at line 101 of file LArOverlapMatrix.cc.

Member Data Documentation

◆ m_clusterNavigationMap12

template<typename T >
ClusterNavigationMap lar_content::OverlapMatrix< T >::m_clusterNavigationMap12
private

The cluster navigation map 1->2.

Definition at line 240 of file LArOverlapMatrix.h.

◆ m_clusterNavigationMap21

template<typename T >
ClusterNavigationMap lar_content::OverlapMatrix< T >::m_clusterNavigationMap21
private

The cluster navigation map 2->1.

Definition at line 241 of file LArOverlapMatrix.h.

◆ m_overlapMatrix

template<typename T >
TheMatrix lar_content::OverlapMatrix< T >::m_overlapMatrix
private

The overlap matrix.

Definition at line 239 of file LArOverlapMatrix.h.


The documentation for this class was generated from the following files: