NViewMatchingAlgorithm.cc
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArThreeDBase/NViewMatchingAlgorithm.cc
3  *
4  * @brief Implementation of the n view matching algorithm class.
5  *
6  * $Log: $
7  */
8 
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 {
29 }
30 
31 //------------------------------------------------------------------------------------------------------------------------------------------
32 
33 template <typename T>
35 {
36 }
37 
38 //------------------------------------------------------------------------------------------------------------------------------------------
39 
40 template <typename T>
41 void NViewMatchingAlgorithm<T>::UpdateForNewCluster(const Cluster *const pNewCluster)
42 {
43  m_matchingControl.UpdateForNewCluster(pNewCluster);
44 }
45 
46 //------------------------------------------------------------------------------------------------------------------------------------------
47 
48 template <typename T>
49 void NViewMatchingAlgorithm<T>::UpdateUponDeletion(const Cluster *const pDeletedCluster)
50 {
51  m_matchingControl.UpdateUponDeletion(pDeletedCluster);
52 }
53 
54 //------------------------------------------------------------------------------------------------------------------------------------------
55 
56 template <typename T>
58 {
59  return m_matchingControl.GetClusterListName(hitType);
60 }
61 
62 //------------------------------------------------------------------------------------------------------------------------------------------
63 
64 template <typename T>
65 const pandora::ClusterList &NViewMatchingAlgorithm<T>::GetInputClusterList(const HitType hitType) const
66 {
67  return m_matchingControl.GetInputClusterList(hitType);
68 }
69 
70 //------------------------------------------------------------------------------------------------------------------------------------------
71 
72 template <typename T>
73 const pandora::ClusterList &NViewMatchingAlgorithm<T>::GetSelectedClusterList(const HitType hitType) const
74 {
75  return m_matchingControl.GetSelectedClusterList(hitType);
76 }
77 
78 //------------------------------------------------------------------------------------------------------------------------------------------
79 
80 template <typename T>
82 {
83  m_matchingControl.SelectAllInputClusters();
84 }
85 
86 //------------------------------------------------------------------------------------------------------------------------------------------
87 
88 template <typename T>
90 {
91  m_matchingControl.PrepareAllInputClusters();
92 }
93 
94 //------------------------------------------------------------------------------------------------------------------------------------------
95 
96 template <typename T>
98 {
99  m_matchingControl.TidyUp();
100 }
101 
102 //------------------------------------------------------------------------------------------------------------------------------------------
103 
104 template <typename T>
106 {
107  m_matchingControl.PerformMainLoop();
108 }
109 
110 //------------------------------------------------------------------------------------------------------------------------------------------
111 
112 template <typename T>
113 StatusCode NViewMatchingAlgorithm<T>::ReadSettings(const TiXmlHandle xmlHandle)
114 {
115  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, m_matchingControl.ReadSettings(xmlHandle));
116 
117  return MatchingBaseAlgorithm::ReadSettings(xmlHandle);
118 }
119 
120 //------------------------------------------------------------------------------------------------------------------------------------------
121 
131 
132 } // namespace lar_content
NViewMatchingAlgorithm class.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
enum cvn::HType HitType
std::string string
Definition: nybbler.cc:12
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.
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...