Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
CrossGapsExtensionAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_CROSS_GAPS_EXTENSION_ALGORITHM_H
9#define LAR_GROSS_GAPS_EXTENSION_ALGORITHM_H 1
10
12
14
15namespace lar_content
16{
17
22{
23public:
28
29private:
30 void GetListOfCleanClusters(const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const;
31 void FillClusterAssociationMatrix(const pandora::ClusterVector &clusterVector, ClusterAssociationMatrix &clusterAssociationMatrix) const;
32 void FillClusterMergeMap(const ClusterAssociationMatrix &clusterAssociationMatrix, ClusterMergeMap &clusterMergeMap) const;
33
41 void BuildPointingClusterList(const pandora::ClusterVector &clusterVector, LArPointingClusterList &innerPointingClusterList,
42 LArPointingClusterList &outerPointingClusterList) const;
43
51 void BuildPointingClusterList(const bool useInner, const LArPointingClusterList &inputPointingClusterList,
52 LArPointingClusterList &outputPointingClusterList) const;
53
60 bool IsAssociated(const LArPointingCluster::Vertex &pointingVertex1, const LArPointingCluster::Vertex &pointingVertex2) const;
61
69 bool IsAcrossGap(const float minZ, const float maxZ, const pandora::HitType hitType) const;
70
72
78};
79
80} // namespace lar_content
81
82#endif // #ifndef LAR_CROSS_GAPS_EXTENSION_ALGORITHM_H
Header file for the cluster extension algorithm class.
Header file for the lar pointing cluster class.
std::unordered_map< const pandora::Cluster *, ClusterAssociationMap > ClusterAssociationMatrix
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
void GetListOfCleanClusters(const pandora::ClusterList *const pClusterList, pandora::ClusterVector &clusterVector) const
Populate cluster vector with subset of cluster list, containing clusters judged to be clean.
void BuildPointingClusterList(const pandora::ClusterVector &clusterVector, LArPointingClusterList &innerPointingClusterList, LArPointingClusterList &outerPointingClusterList) const
Build lists of pointing clusters that are adjacent to a detector gap.
bool IsAcrossGap(const float minZ, const float maxZ, const pandora::HitType hitType) const
Determine whether a start and end position sit either side of a gap.
void FillClusterMergeMap(const ClusterAssociationMatrix &clusterAssociationMatrix, ClusterMergeMap &clusterMergeMap) const
Fill the cluster merge map.
bool IsAssociated(const LArPointingCluster::Vertex &pointingVertex1, const LArPointingCluster::Vertex &pointingVertex2) const
Use pointing information to determine whether two clusters are associated.
void FillClusterAssociationMatrix(const pandora::ClusterVector &clusterVector, ClusterAssociationMatrix &clusterAssociationMatrix) const
Fill the cluster association matrix.
std::unordered_map< const pandora::Cluster *, pandora::ClusterList > ClusterMergeMap
std::vector< LArPointingCluster > LArPointingClusterList
HitType
Calorimeter hit type enum.
std::vector< const Cluster * > ClusterVector
MANAGED_CONTAINER< const Cluster * > ClusterList
StatusCode
The StatusCode enum.