LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
NViewMatchingAlgorithm.cc
Go to the documentation of this file.
1 
9 #include "Pandora/AlgorithmHeaders.h"
10 
12 
16 
20 
21 using namespace pandora;
22 
23 namespace lar_content
24 {
25 
26 template <typename T>
28  m_matchingControl(this)
29 {
30 }
31 
32 //------------------------------------------------------------------------------------------------------------------------------------------
33 
34 template <typename T>
36 {
37 }
38 
39 //------------------------------------------------------------------------------------------------------------------------------------------
40 
41 template <typename T>
42 void NViewMatchingAlgorithm<T>::UpdateForNewCluster(const Cluster *const pNewCluster)
43 {
44  m_matchingControl.UpdateForNewCluster(pNewCluster);
45 }
46 
47 //------------------------------------------------------------------------------------------------------------------------------------------
48 
49 template <typename T>
50 void NViewMatchingAlgorithm<T>::UpdateUponDeletion(const Cluster *const pDeletedCluster)
51 {
52  m_matchingControl.UpdateUponDeletion(pDeletedCluster);
53 }
54 
55 //------------------------------------------------------------------------------------------------------------------------------------------
56 
57 template <typename T>
58 const std::string &NViewMatchingAlgorithm<T>::GetClusterListName(const HitType hitType) const
59 {
60  return m_matchingControl.GetClusterListName(hitType);
61 }
62 
63 //------------------------------------------------------------------------------------------------------------------------------------------
64 
65 template <typename T>
66 const pandora::ClusterList &NViewMatchingAlgorithm<T>::GetInputClusterList(const HitType hitType) const
67 {
68  return m_matchingControl.GetInputClusterList(hitType);
69 }
70 
71 //------------------------------------------------------------------------------------------------------------------------------------------
72 
73 template <typename T>
74 const pandora::ClusterList &NViewMatchingAlgorithm<T>::GetSelectedClusterList(const HitType hitType) const
75 {
76  return m_matchingControl.GetSelectedClusterList(hitType);
77 }
78 
79 //------------------------------------------------------------------------------------------------------------------------------------------
80 
81 template <typename T>
83 {
84  m_matchingControl.SelectAllInputClusters();
85 }
86 
87 //------------------------------------------------------------------------------------------------------------------------------------------
88 
89 template <typename T>
91 {
92  m_matchingControl.PrepareAllInputClusters();
93 }
94 
95 //------------------------------------------------------------------------------------------------------------------------------------------
96 
97 template <typename T>
99 {
100  m_matchingControl.TidyUp();
101 }
102 
103 //------------------------------------------------------------------------------------------------------------------------------------------
104 
105 template <typename T>
107 {
108  m_matchingControl.PerformMainLoop();
109 }
110 
111 //------------------------------------------------------------------------------------------------------------------------------------------
112 
113 template <typename T>
114 StatusCode NViewMatchingAlgorithm<T>::ReadSettings(const TiXmlHandle xmlHandle)
115 {
116  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, m_matchingControl.ReadSettings(xmlHandle));
117 
118  return MatchingBaseAlgorithm::ReadSettings(xmlHandle);
119 }
120 
121 //------------------------------------------------------------------------------------------------------------------------------------------
122 
132 
133 } // namespace lar_content
NViewMatchingAlgorithm class.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
virtual void TidyUp()
Tidy member variables in derived class.
Header file for the n view matching algorithm class.
void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster)
Update to reflect cluster deletion.
void UpdateForNewCluster(const pandora::Cluster *const pNewCluster)
Update to reflect addition of a new cluster to the problem space.
virtual void SelectAllInputClusters()
Select a subset of input clusters for processing in this algorithm.
MatchingType m_matchingControl
The matching control.
Header file for the cluster helper class.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
const pandora::ClusterList & GetInputClusterList(const pandora::HitType hitType) const
Get the input cluster list corresponding to a specified hit type.
Header file for the lar shower overlap result class.
virtual void PrepareAllInputClusters()
Perform any preparatory steps required, e.g. caching expensive fit results for clusters.
const pandora::ClusterList & GetSelectedClusterList(const pandora::HitType hitType) const
Get the selected cluster list corresponding to a specified hit type.
Header file for the lar track overlap result class.
HitType
Definition: HitType.h:12
Header file for the three view matching control class.
const std::string & GetClusterListName(const pandora::HitType hitType) const
Get the cluster list name corresponding to a specified hit type.
Header file for the two view matching control class.
Header file for the lar track two view overlap result class.
virtual void PerformMainLoop()
Main loop over cluster combinations in order to populate the overlap container. Responsible for calli...