Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
NViewMatchingControl.h
Go to the documentation of this file.
1
8#ifndef LAR_N_VIEW_MATCHING_CONTROL_H
9#define LAR_N_VIEW_MATCHING_CONTROL_H 1
10
11namespace lar_content
12{
13
14class MatchingBaseAlgorithm;
15
16//------------------------------------------------------------------------------------------------------------------------------------------
17
22{
23public:
30
34 virtual ~NViewMatchingControl();
35
36protected:
42 virtual void UpdateForNewCluster(const pandora::Cluster *const pNewCluster) = 0;
43
49 virtual void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster) = 0;
50
58 virtual const std::string &GetClusterListName(const pandora::HitType hitType) const = 0;
59
67 virtual const pandora::ClusterList &GetInputClusterList(const pandora::HitType hitType) const = 0;
68
76 virtual const pandora::ClusterList &GetSelectedClusterList(const pandora::HitType hitType) const = 0;
77
81 virtual void SelectAllInputClusters() = 0;
82
86 virtual void PrepareAllInputClusters() = 0;
87
91 virtual void PerformMainLoop() = 0;
92
96 virtual void TidyUp() = 0;
97
104
106};
107
108//------------------------------------------------------------------------------------------------------------------------------------------
109
110inline NViewMatchingControl::NViewMatchingControl(MatchingBaseAlgorithm *const pAlgorithm) : m_pAlgorithm(pAlgorithm)
111{
112}
113
114//------------------------------------------------------------------------------------------------------------------------------------------
115
119
120} // namespace lar_content
121
122#endif // #ifndef LAR_N_VIEW_MATCHING_CONTROL_H
MatchingBaseAlgorithm * m_pAlgorithm
The address of the matching base algorithm.
virtual void TidyUp()=0
Tidy member variables.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)=0
Read settings from xml.
virtual const pandora::ClusterList & GetSelectedClusterList(const pandora::HitType hitType) const =0
Get the selected cluster list corresponding to a specified hit type.
virtual void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster)=0
Update to reflect cluster deletion.
NViewMatchingControl(MatchingBaseAlgorithm *const pAlgorithm)
Constructor.
virtual void PerformMainLoop()=0
Main loop over cluster combinations in order to populate the overlap container. Responsible for calli...
virtual const pandora::ClusterList & GetInputClusterList(const pandora::HitType hitType) const =0
Get the input cluster list corresponding to a specified hit type.
virtual const std::string & GetClusterListName(const pandora::HitType hitType) const =0
Get the cluster list name corresponding to a specified hit type.
virtual void PrepareAllInputClusters()=0
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
virtual void UpdateForNewCluster(const pandora::Cluster *const pNewCluster)=0
Update to reflect addition of a new cluster to the problem space.
virtual void SelectAllInputClusters()=0
Select a subset of input clusters for processing in this algorithm.
Cluster class.
Definition Cluster.h:31
HitType
Calorimeter hit type enum.
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.