LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
NViewMatchingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_N_VIEW_MATCHING_ALGORITHM_H
9 #define LAR_N_VIEW_MATCHING_ALGORITHM_H 1
10 
12 
13 namespace lar_content
14 {
15 
19 template <typename T>
21 {
22 public:
23  typedef T MatchingType;
24 
29 
33  virtual ~NViewMatchingAlgorithm();
34 
35  void UpdateForNewCluster(const pandora::Cluster *const pNewCluster);
36  void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster);
37  const std::string &GetClusterListName(const pandora::HitType hitType) const;
38  const pandora::ClusterList &GetInputClusterList(const pandora::HitType hitType) const;
39  const pandora::ClusterList &GetSelectedClusterList(const pandora::HitType hitType) const;
40 
41 protected:
45  MatchingType &GetMatchingControl();
46 
47  virtual void SelectAllInputClusters();
48  virtual void PrepareAllInputClusters();
49  virtual void PerformMainLoop();
50  virtual void TidyUp();
51  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
52 
53  MatchingType m_matchingControl;
54 };
55 
56 //------------------------------------------------------------------------------------------------------------------------------------------
57 
58 template <typename T>
60 {
61  return m_matchingControl;
62 }
63 
64 } // namespace lar_content
65 
66 #endif // #ifndef LAR_N_VIEW_MATCHING_ALGORITHM_H
NViewMatchingAlgorithm class.
virtual void TidyUp()
Tidy member variables in derived class.
MatchingBaseAlgorithm class.
MatchingType & GetMatchingControl()
Get the matching control.
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.
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.
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.
HitType
Definition: HitType.h:12
const std::string & GetClusterListName(const pandora::HitType hitType) const
Get the cluster list name corresponding to a specified hit type.
virtual void PerformMainLoop()
Main loop over cluster combinations in order to populate the overlap container. Responsible for calli...
Header file for the three dimension algorithm base class.