Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
TwoViewMatchingControl.h
Go to the documentation of this file.
1
8#ifndef LAR_TWO_VIEW_MATCHING_CONTROL_H
9#define LAR_TWO_VIEW_MATCHING_CONTROL_H 1
10
12
14
15#include <unordered_map>
16
17namespace lar_content
18{
19
23template <typename T>
25{
26public:
28
35
40
47
53 unsigned int GetHitTypeIndex(const pandora::HitType hitType);
54
55private:
56 void UpdateForNewCluster(const pandora::Cluster *const pNewCluster);
57 void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster);
58 const std::string &GetClusterListName(const pandora::HitType hitType) const;
63 void PerformMainLoop();
64 void TidyUp();
66
69
72
74
75 typedef std::unordered_map<pandora::HitType, unsigned int, std::hash<int>> HitTypeToIndexMap;
77
80
81 template <typename U>
83};
84
85} // namespace lar_content
86
87#endif // #ifndef LAR_TWO_VIEW_MATCHING_CONTROL_H
Header file for the lar overlap matrix class.
Header file for the matching control class.
pandora::ClusterList m_clusterList2
The selected modified cluster list 2.
HitTypeToIndexMap m_hitTypeToIndexMap
The hit type to index map.
const std::string & GetClusterListName(const pandora::HitType hitType) const
Get the cluster list name corresponding to a specified hit type.
const pandora::ClusterList * m_pInputClusterList1
Address of the input cluster list 1.
void PrepareAllInputClusters()
Perform any preparatory steps required on the input clusters, e.g. caching expensive fit results.
const pandora::ClusterList & GetInputClusterList(const pandora::HitType hitType) const
Get the input cluster list corresponding to a specified hit type.
void UpdateForNewCluster(const pandora::Cluster *const pNewCluster)
Update to reflect addition of a new cluster to the problem space.
MatrixType m_overlapMatrix
The overlap matrix.
const pandora::ClusterList * m_pInputClusterList2
Address of the input cluster list 2.
std::string m_inputClusterListName2
The name of the view 2 cluster list.
std::unordered_map< pandora::HitType, unsigned int, std::hash< int > > HitTypeToIndexMap
std::string m_inputClusterListName1
The name of the view 1 cluster list.
unsigned int GetHitTypeIndex(const pandora::HitType hitType)
Get the index of an input hit type returning 0 if not found in map.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read settings from xml.
void SelectAllInputClusters()
Select a subset of input clusters for processing in this algorithm.
pandora::ClusterList m_clusterList1
The selected modified cluster list 1.
const pandora::ClusterList & GetSelectedClusterList(const pandora::HitType hitType) const
Get the selected cluster list corresponding to a specified hit type.
void PerformMainLoop()
Main loop over cluster combinations in order to populate the overlap container. Responsible for calli...
MatrixType & GetOverlapMatrix()
Get the overlap matrix.
void UpdateUponDeletion(const pandora::Cluster *const pDeletedCluster)
Update to reflect cluster deletion.
Cluster class.
Definition Cluster.h:31
HitType
Calorimeter hit type enum.
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.