LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
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 
15 namespace lar_content
16 {
17 
22 {
23 public:
28 
29 private:
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 
71  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
72 
78 };
79 
80 } // namespace lar_content
81 
82 #endif // #ifndef LAR_CROSS_GAPS_EXTENSION_ALGORITHM_H
Header file for the lar pointing cluster class.
void BuildPointingClusterList(const pandora::ClusterVector &clusterVector, LArPointingClusterList &innerPointingClusterList, LArPointingClusterList &outerPointingClusterList) const
Build lists of pointing clusters that are adjacent to a detector gap.
std::vector< LArPointingCluster > LArPointingClusterList
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 FillClusterMergeMap(const ClusterAssociationMatrix &clusterAssociationMatrix, ClusterMergeMap &clusterMergeMap) const
Fill the cluster merge map.
void FillClusterAssociationMatrix(const pandora::ClusterVector &clusterVector, ClusterAssociationMatrix &clusterAssociationMatrix) const
Fill the cluster association matrix.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::unordered_map< const pandora::Cluster *, ClusterAssociationMap > ClusterAssociationMatrix
Header file for the cluster extension algorithm class.
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.
HitType
Definition: HitType.h:12
bool IsAssociated(const LArPointingCluster::Vertex &pointingVertex1, const LArPointingCluster::Vertex &pointingVertex2) const
Use pointing information to determine whether two clusters are associated.
std::unordered_map< const pandora::Cluster *, pandora::ClusterList > ClusterMergeMap
std::vector< art::Ptr< recob::Cluster > > ClusterVector