8#ifndef LAR_TWO_VIEW_MATCHING_CONTROL_H
9#define LAR_TWO_VIEW_MATCHING_CONTROL_H 1
15#include <unordered_map>
75 typedef std::unordered_map<pandora::HitType, unsigned int, std::hash<int>>
HitTypeToIndexMap;
Header file for the lar overlap matrix class.
Header file for the matching control class.
MatchingBaseAlgorithm class.
NViewMatchingAlgorithm class.
NViewMatchingControl class.
TwoViewMatchingControl 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.
void TidyUp()
Tidy member variables.
std::string m_inputClusterListName2
The name of the view 2 cluster list.
virtual ~TwoViewMatchingControl()
Destructor.
std::unordered_map< pandora::HitType, unsigned int, std::hash< int > > HitTypeToIndexMap
std::string m_inputClusterListName1
The name of the view 1 cluster list.
OverlapMatrix< T > MatrixType
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.
HitType
Calorimeter hit type enum.
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.