LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
ThreeViewMatchingControl class. More...
#include "ThreeViewMatchingControl.h"
Public Types | |
typedef OverlapTensor< T > | TensorType |
Public Member Functions | |
ThreeViewMatchingControl (MatchingBaseAlgorithm *const pAlgorithm) | |
Constructor. More... | |
virtual | ~ThreeViewMatchingControl () |
Destructor. More... | |
TensorType & | GetOverlapTensor () |
Get the overlap tensor. More... | |
Protected Attributes | |
MatchingBaseAlgorithm * | m_pAlgorithm |
The address of the matching base algorithm. More... | |
Private Member Functions | |
void | UpdateForNewCluster (const pandora::Cluster *const pNewCluster) |
Update to reflect addition of a new cluster to the problem space. More... | |
void | UpdateUponDeletion (const pandora::Cluster *const pDeletedCluster) |
Update to reflect cluster deletion. More... | |
const std::string & | GetClusterListName (const pandora::HitType hitType) const |
Get the cluster list name corresponding to a specified hit type. More... | |
const pandora::ClusterList & | GetInputClusterList (const pandora::HitType hitType) const |
Get the input cluster list corresponding to a specified hit type. More... | |
const pandora::ClusterList & | GetSelectedClusterList (const pandora::HitType hitType) const |
Get the selected cluster list corresponding to a specified hit type. More... | |
void | SelectAllInputClusters () |
Select a subset of input clusters for processing in this algorithm. More... | |
void | PrepareAllInputClusters () |
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results. More... | |
void | PerformMainLoop () |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult. More... | |
void | TidyUp () |
Tidy member variables. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read settings from xml. More... | |
Private Attributes | |
const pandora::ClusterList * | m_pInputClusterListU |
Address of the input cluster list U. More... | |
const pandora::ClusterList * | m_pInputClusterListV |
Address of the input cluster list V. More... | |
const pandora::ClusterList * | m_pInputClusterListW |
Address of the input cluster list W. More... | |
pandora::ClusterList | m_clusterListU |
The selected modified cluster list U. More... | |
pandora::ClusterList | m_clusterListV |
The selected modified cluster list V. More... | |
pandora::ClusterList | m_clusterListW |
The selected modified cluster list W. More... | |
TensorType | m_overlapTensor |
The overlap tensor. More... | |
std::string | m_inputClusterListNameU |
The name of the view U cluster list. More... | |
std::string | m_inputClusterListNameV |
The name of the view V cluster list. More... | |
std::string | m_inputClusterListNameW |
The name of the view W cluster list. More... | |
Friends | |
class | ThreeViewTrackFragmentsAlgorithm |
ATTN This is for legacy purposes only. More... | |
class | ThreeViewDeltaRayMatchingAlgorithm |
template<typename U > | |
class | NViewMatchingAlgorithm |
ThreeViewMatchingControl class.
Definition at line 22 of file ThreeViewMatchingControl.h.
typedef OverlapTensor<T> lar_content::ThreeViewMatchingControl< T >::TensorType |
Definition at line 25 of file ThreeViewMatchingControl.h.
lar_content::ThreeViewMatchingControl< T >::ThreeViewMatchingControl | ( | MatchingBaseAlgorithm *const | pAlgorithm | ) |
Constructor.
pAlgorithm | address of the matching base algorithm |
Definition at line 25 of file ThreeViewMatchingControl.cc.
|
virtual |
|
privatevirtual |
Get the cluster list name corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::NViewMatchingControl.
Definition at line 117 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameU, lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameV, and lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameW.
|
privatevirtual |
Get the input cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::NViewMatchingControl.
Definition at line 134 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListU, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListV, and lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListW.
ThreeViewMatchingControl< T >::TensorType & lar_content::ThreeViewMatchingControl< T >::GetOverlapTensor | ( | ) |
Get the overlap tensor.
Definition at line 43 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_overlapTensor.
Referenced by lar_content::ThreeViewRemnantsAlgorithm::CalculateOverlapResult(), lar_content::ThreeViewDeltaRayMatchingAlgorithm::DoesClusterPassTensorThreshold(), lar_content::ThreeViewShowersAlgorithm::RemoveFromSlidingFitCache(), lar_content::ThreeViewLongitudinalTracksAlgorithm::ThreeViewLongitudinalTracksAlgorithm(), and lar_content::ThreeViewTransverseTracksAlgorithm::ThreeViewTransverseTracksAlgorithm().
|
privatevirtual |
Get the selected cluster list corresponding to a specified hit type.
hitType | the hit type |
Implements lar_content::NViewMatchingControl.
Definition at line 151 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, and lar_content::ThreeViewMatchingControl< T >::m_clusterListW.
|
privatevirtual |
Main loop over cluster combinations in order to populate the overlap container. Responsible for calling CalculateOverlapResult.
Implements lar_content::NViewMatchingControl.
Definition at line 219 of file ThreeViewMatchingControl.cc.
References lar_content::MatchingBaseAlgorithm::CalculateOverlapResult(), lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::NViewMatchingControl::m_pAlgorithm, and lar_content::LArClusterHelper::SortByNHits().
|
privatevirtual |
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
Implements lar_content::NViewMatchingControl.
Definition at line 193 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::NViewMatchingControl::m_pAlgorithm, and lar_content::MatchingBaseAlgorithm::PrepareInputClusters().
|
privatevirtual |
Read settings from xml.
xmlHandle | the xml handle |
Implements lar_content::NViewMatchingControl.
Definition at line 241 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameU, lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameV, and lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameW.
|
privatevirtual |
Select a subset of input clusters for processing in this algorithm.
Implements lar_content::NViewMatchingControl.
Definition at line 168 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameU, lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameV, lar_content::ThreeViewMatchingControl< T >::m_inputClusterListNameW, lar_content::NViewMatchingControl::m_pAlgorithm, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListU, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListV, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListW, and lar_content::MatchingBaseAlgorithm::SelectInputClusters().
|
privatevirtual |
Tidy member variables.
Implements lar_content::NViewMatchingControl.
Definition at line 203 of file ThreeViewMatchingControl.cc.
References lar_content::OverlapTensor< T >::Clear(), lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::ThreeViewMatchingControl< T >::m_overlapTensor, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListU, lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListV, and lar_content::ThreeViewMatchingControl< T >::m_pInputClusterListW.
|
privatevirtual |
Update to reflect addition of a new cluster to the problem space.
pNewCluster | address of the new cluster |
Implements lar_content::NViewMatchingControl.
Definition at line 51 of file ThreeViewMatchingControl.cc.
References lar_content::MatchingBaseAlgorithm::CalculateOverlapResult(), lar_content::LArClusterHelper::GetClusterHitType(), lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::NViewMatchingControl::m_pAlgorithm, and lar_content::LArClusterHelper::SortByNHits().
|
privatevirtual |
Update to reflect cluster deletion.
pDeletedCluster | address of the deleted cluster |
Implements lar_content::NViewMatchingControl.
Definition at line 96 of file ThreeViewMatchingControl.cc.
References lar_content::ThreeViewMatchingControl< T >::m_clusterListU, lar_content::ThreeViewMatchingControl< T >::m_clusterListV, lar_content::ThreeViewMatchingControl< T >::m_clusterListW, lar_content::ThreeViewMatchingControl< T >::m_overlapTensor, and lar_content::OverlapTensor< T >::RemoveCluster().
Definition at line 76 of file ThreeViewMatchingControl.h.
|
friend |
Definition at line 73 of file ThreeViewMatchingControl.h.
|
friend |
ATTN This is for legacy purposes only.
Definition at line 72 of file ThreeViewMatchingControl.h.
|
private |
The selected modified cluster list U.
Definition at line 62 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetSelectedClusterList(), lar_content::ThreeViewMatchingControl< T >::PerformMainLoop(), lar_content::ThreeViewMatchingControl< T >::PrepareAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::TidyUp(), lar_content::ThreeViewTrackFragmentsAlgorithm::UpdateForNewCluster(), lar_content::ThreeViewMatchingControl< T >::UpdateForNewCluster(), and lar_content::ThreeViewMatchingControl< T >::UpdateUponDeletion().
|
private |
The selected modified cluster list V.
Definition at line 63 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetSelectedClusterList(), lar_content::ThreeViewMatchingControl< T >::PerformMainLoop(), lar_content::ThreeViewMatchingControl< T >::PrepareAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::TidyUp(), lar_content::ThreeViewTrackFragmentsAlgorithm::UpdateForNewCluster(), lar_content::ThreeViewMatchingControl< T >::UpdateForNewCluster(), and lar_content::ThreeViewMatchingControl< T >::UpdateUponDeletion().
|
private |
The selected modified cluster list W.
Definition at line 64 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetSelectedClusterList(), lar_content::ThreeViewMatchingControl< T >::PerformMainLoop(), lar_content::ThreeViewMatchingControl< T >::PrepareAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::TidyUp(), lar_content::ThreeViewTrackFragmentsAlgorithm::UpdateForNewCluster(), lar_content::ThreeViewMatchingControl< T >::UpdateForNewCluster(), and lar_content::ThreeViewMatchingControl< T >::UpdateUponDeletion().
|
private |
The name of the view U cluster list.
Definition at line 68 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetClusterListName(), lar_content::ThreeViewMatchingControl< T >::ReadSettings(), and lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters().
|
private |
The name of the view V cluster list.
Definition at line 69 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetClusterListName(), lar_content::ThreeViewMatchingControl< T >::ReadSettings(), and lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters().
|
private |
The name of the view W cluster list.
Definition at line 70 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetClusterListName(), lar_content::ThreeViewMatchingControl< T >::ReadSettings(), and lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters().
|
private |
The overlap tensor.
Definition at line 66 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetOverlapTensor(), lar_content::ThreeViewMatchingControl< T >::TidyUp(), and lar_content::ThreeViewMatchingControl< T >::UpdateUponDeletion().
|
protectedinherited |
The address of the matching base algorithm.
Definition at line 105 of file NViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::PerformMainLoop(), lar_content::TwoViewMatchingControl< T >::PerformMainLoop(), lar_content::ThreeViewMatchingControl< T >::PrepareAllInputClusters(), lar_content::TwoViewMatchingControl< T >::PrepareAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), lar_content::TwoViewMatchingControl< T >::SelectAllInputClusters(), lar_content::ThreeViewMatchingControl< T >::UpdateForNewCluster(), and lar_content::TwoViewMatchingControl< T >::UpdateForNewCluster().
|
private |
Address of the input cluster list U.
Definition at line 58 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetInputClusterList(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), and lar_content::ThreeViewMatchingControl< T >::TidyUp().
|
private |
Address of the input cluster list V.
Definition at line 59 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetInputClusterList(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), and lar_content::ThreeViewMatchingControl< T >::TidyUp().
|
private |
Address of the input cluster list W.
Definition at line 60 of file ThreeViewMatchingControl.h.
Referenced by lar_content::ThreeViewMatchingControl< T >::GetInputClusterList(), lar_content::ThreeViewMatchingControl< T >::SelectAllInputClusters(), and lar_content::ThreeViewMatchingControl< T >::TidyUp().