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

TwoViewMatchingControl class. More...

#include "TwoViewMatchingControl.h"

Inheritance diagram for lar_content::TwoViewMatchingControl< T >:
Collaboration diagram for lar_content::TwoViewMatchingControl< T >:

Public Types

typedef OverlapMatrix< T > MatrixType
 

Public Member Functions

 TwoViewMatchingControl (MatchingBaseAlgorithm *const pAlgorithm)
 Constructor.
 
virtual ~TwoViewMatchingControl ()
 Destructor.
 
MatrixTypeGetOverlapMatrix ()
 Get the overlap matrix.
 
unsigned int GetHitTypeIndex (const pandora::HitType hitType)
 Get the index of an input hit type returning 0 if not found in map.
 

Protected Attributes

MatchingBaseAlgorithmm_pAlgorithm
 The address of the matching base algorithm.
 

Private Types

typedef std::unordered_map< pandora::HitType, unsigned int, std::hash< int > > HitTypeToIndexMap
 

Private Member Functions

void UpdateForNewCluster (const pandora::Cluster *const pNewCluster)
 Update to reflect addition of a new cluster to the problem space.
 
void UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster)
 Update to reflect cluster deletion.
 
const std::string & GetClusterListName (const pandora::HitType hitType) const
 Get the cluster list name corresponding to a specified hit type.
 
const pandora::ClusterListGetInputClusterList (const pandora::HitType hitType) const
 Get the input cluster list corresponding to a specified hit type.
 
const pandora::ClusterListGetSelectedClusterList (const pandora::HitType hitType) const
 Get the selected cluster list corresponding to a specified hit type.
 
void SelectAllInputClusters ()
 Select a subset of input clusters for processing in this algorithm.
 
void PrepareAllInputClusters ()
 Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
 
void PerformMainLoop ()
 Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult.
 
void TidyUp ()
 Tidy member variables.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read settings from xml.
 

Private Attributes

const pandora::ClusterListm_pInputClusterList1
 Address of the input cluster list 1.
 
const pandora::ClusterListm_pInputClusterList2
 Address of the input cluster list 2.
 
pandora::ClusterList m_clusterList1
 The selected modified cluster list 1.
 
pandora::ClusterList m_clusterList2
 The selected modified cluster list 2.
 
MatrixType m_overlapMatrix
 The overlap matrix.
 
HitTypeToIndexMap m_hitTypeToIndexMap
 The hit type to index map.
 
std::string m_inputClusterListName1
 The name of the view 1 cluster list.
 
std::string m_inputClusterListName2
 The name of the view 2 cluster list.
 

Friends

template<typename U >
class NViewMatchingAlgorithm
 

Detailed Description

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

TwoViewMatchingControl class.

Definition at line 24 of file TwoViewMatchingControl.h.

Member Typedef Documentation

◆ HitTypeToIndexMap

template<typename T >
typedef std::unordered_map<pandora::HitType, unsigned int, std::hash<int> > lar_content::TwoViewMatchingControl< T >::HitTypeToIndexMap
private

Definition at line 75 of file TwoViewMatchingControl.h.

◆ MatrixType

template<typename T >
typedef OverlapMatrix<T> lar_content::TwoViewMatchingControl< T >::MatrixType

Definition at line 27 of file TwoViewMatchingControl.h.

Constructor & Destructor Documentation

◆ TwoViewMatchingControl()

template<typename T >
lar_content::TwoViewMatchingControl< T >::TwoViewMatchingControl ( MatchingBaseAlgorithm *const  pAlgorithm)

Constructor.

Parameters
pAlgorithmaddress of the matching base algorithm

Definition at line 24 of file TwoViewMatchingControl.cc.

◆ ~TwoViewMatchingControl()

template<typename T >
lar_content::TwoViewMatchingControl< T >::~TwoViewMatchingControl ( )
virtual

Destructor.

Definition at line 34 of file TwoViewMatchingControl.cc.

Member Function Documentation

◆ GetClusterListName()

template<typename T >
const std::string & lar_content::TwoViewMatchingControl< T >::GetClusterListName ( const pandora::HitType  hitType) const
privatevirtual

Get the cluster list name corresponding to a specified hit type.

Parameters
hitTypethe hit type
Returns
the cluster list name

Implements lar_content::NViewMatchingControl.

Definition at line 115 of file TwoViewMatchingControl.cc.

◆ GetHitTypeIndex()

template<typename T >
unsigned int lar_content::TwoViewMatchingControl< T >::GetHitTypeIndex ( const pandora::HitType  hitType)

Get the index of an input hit type returning 0 if not found in map.

Returns
the hit type index

Definition at line 49 of file TwoViewMatchingControl.cc.

◆ GetInputClusterList()

template<typename T >
const pandora::ClusterList & lar_content::TwoViewMatchingControl< T >::GetInputClusterList ( const pandora::HitType  hitType) const
privatevirtual

Get the input cluster list corresponding to a specified hit type.

Parameters
hitTypethe hit type
Returns
the input cluster list

Implements lar_content::NViewMatchingControl.

Definition at line 130 of file TwoViewMatchingControl.cc.

◆ GetOverlapMatrix()

template<typename T >
TwoViewMatchingControl< T >::MatrixType & lar_content::TwoViewMatchingControl< T >::GetOverlapMatrix ( )

Get the overlap matrix.

Returns
the overlap matrix

Definition at line 41 of file TwoViewMatchingControl.cc.

◆ GetSelectedClusterList()

template<typename T >
const pandora::ClusterList & lar_content::TwoViewMatchingControl< T >::GetSelectedClusterList ( const pandora::HitType  hitType) const
privatevirtual

Get the selected cluster list corresponding to a specified hit type.

Parameters
hitTypethe hit type
Returns
the selected cluster list

Implements lar_content::NViewMatchingControl.

Definition at line 148 of file TwoViewMatchingControl.cc.

◆ PerformMainLoop()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::PerformMainLoop ( )
privatevirtual

Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult.

Implements lar_content::NViewMatchingControl.

Definition at line 215 of file TwoViewMatchingControl.cc.

Here is the call graph for this function:

◆ PrepareAllInputClusters()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::PrepareAllInputClusters ( )
privatevirtual

Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.

Implements lar_content::NViewMatchingControl.

Definition at line 191 of file TwoViewMatchingControl.cc.

◆ ReadSettings()

template<typename T >
StatusCode lar_content::TwoViewMatchingControl< T >::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read settings from xml.

Parameters
xmlHandlethe xml handle

Implements lar_content::NViewMatchingControl.

Definition at line 232 of file TwoViewMatchingControl.cc.

Here is the call graph for this function:

◆ SelectAllInputClusters()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::SelectAllInputClusters ( )
privatevirtual

Select a subset of input clusters for processing in this algorithm.

Implements lar_content::NViewMatchingControl.

Definition at line 163 of file TwoViewMatchingControl.cc.

Here is the call graph for this function:

◆ TidyUp()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::TidyUp ( )
privatevirtual

Tidy member variables.

Implements lar_content::NViewMatchingControl.

Definition at line 200 of file TwoViewMatchingControl.cc.

◆ UpdateForNewCluster()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::UpdateForNewCluster ( const pandora::Cluster *const  pNewCluster)
privatevirtual

Update to reflect addition of a new cluster to the problem space.

Parameters
pNewClusteraddress of the new cluster

Implements lar_content::NViewMatchingControl.

Definition at line 62 of file TwoViewMatchingControl.cc.

◆ UpdateUponDeletion()

template<typename T >
void lar_content::TwoViewMatchingControl< T >::UpdateUponDeletion ( const pandora::Cluster *const  pDeletedCluster)
privatevirtual

Update to reflect cluster deletion.

Parameters
pDeletedClusteraddress of the deleted cluster

Implements lar_content::NViewMatchingControl.

Definition at line 98 of file TwoViewMatchingControl.cc.

Friends And Related Symbol Documentation

◆ NViewMatchingAlgorithm

template<typename T >
template<typename U >
friend class NViewMatchingAlgorithm
friend

Definition at line 82 of file TwoViewMatchingControl.h.

Member Data Documentation

◆ m_clusterList1

template<typename T >
pandora::ClusterList lar_content::TwoViewMatchingControl< T >::m_clusterList1
private

The selected modified cluster list 1.

Definition at line 70 of file TwoViewMatchingControl.h.

◆ m_clusterList2

template<typename T >
pandora::ClusterList lar_content::TwoViewMatchingControl< T >::m_clusterList2
private

The selected modified cluster list 2.

Definition at line 71 of file TwoViewMatchingControl.h.

◆ m_hitTypeToIndexMap

template<typename T >
HitTypeToIndexMap lar_content::TwoViewMatchingControl< T >::m_hitTypeToIndexMap
private

The hit type to index map.

Definition at line 76 of file TwoViewMatchingControl.h.

◆ m_inputClusterListName1

template<typename T >
std::string lar_content::TwoViewMatchingControl< T >::m_inputClusterListName1
private

The name of the view 1 cluster list.

Definition at line 78 of file TwoViewMatchingControl.h.

◆ m_inputClusterListName2

template<typename T >
std::string lar_content::TwoViewMatchingControl< T >::m_inputClusterListName2
private

The name of the view 2 cluster list.

Definition at line 79 of file TwoViewMatchingControl.h.

◆ m_overlapMatrix

template<typename T >
MatrixType lar_content::TwoViewMatchingControl< T >::m_overlapMatrix
private

The overlap matrix.

Definition at line 73 of file TwoViewMatchingControl.h.

◆ m_pAlgorithm

MatchingBaseAlgorithm* lar_content::NViewMatchingControl::m_pAlgorithm
protectedinherited

The address of the matching base algorithm.

Definition at line 105 of file NViewMatchingControl.h.

◆ m_pInputClusterList1

template<typename T >
const pandora::ClusterList* lar_content::TwoViewMatchingControl< T >::m_pInputClusterList1
private

Address of the input cluster list 1.

Definition at line 67 of file TwoViewMatchingControl.h.

◆ m_pInputClusterList2

template<typename T >
const pandora::ClusterList* lar_content::TwoViewMatchingControl< T >::m_pInputClusterList2
private

Address of the input cluster list 2.

Definition at line 68 of file TwoViewMatchingControl.h.


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