LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
ClusterGrowingAlgorithm class. More...
#include "ClusterGrowingAlgorithm.h"
Public Member Functions | |
ClusterGrowingAlgorithm () | |
Default constructor. More... | |
Protected Types | |
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterList > | ClusterMergeMap |
Protected Member Functions | |
virtual pandora::StatusCode | Run () |
virtual pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
virtual void | GetListOfCleanClusters (const pandora::ClusterList *const pClusterList, pandora::ClusterVector &cleanClusters) const =0 |
Populate cluster vector with the subset of clusters judged to be clean. More... | |
virtual void | GetListOfSeedClusters (const pandora::ClusterVector &cleanClusters, pandora::ClusterVector &seedClusters) const =0 |
Select seed clusters for growing. More... | |
Private Member Functions | |
void | GetListOfNonSeedClusters (const pandora::ClusterVector &inputClusters, const pandora::ClusterVector &seedClusters, pandora::ClusterVector &nonSeedClusters) const |
Get List of non-seed clusters. More... | |
void | PopulateClusterMergeMap (const pandora::ClusterVector &seedClusters, const pandora::ClusterVector &nonSeedClusters, ClusterMergeMap &clusterMergeMap) const |
Identify a set of cluster merges. More... | |
void | MergeClusters (const ClusterMergeMap &clusterMergeMap) const |
Merge clusters. More... | |
Private Attributes | |
std::string | m_inputClusterListName |
The name of the input cluster list. If not specified, will access current list. More... | |
float | m_maxClusterSeparation |
Maximum distance at which clusters can be joined. More... | |
ClusterGrowingAlgorithm class.
Definition at line 21 of file ClusterGrowingAlgorithm.h.
|
protected |
Definition at line 33 of file ClusterGrowingAlgorithm.h.
lar_content::ClusterGrowingAlgorithm::ClusterGrowingAlgorithm | ( | ) |
Default constructor.
Definition at line 20 of file ClusterGrowingAlgorithm.cc.
|
protectedpure virtual |
Populate cluster vector with the subset of clusters judged to be clean.
pClusterList | address of the cluster list |
cleanClusters | the output vector of clean clusters |
Implemented in lar_content::SimpleClusterGrowingAlgorithm, and lar_content::DeltaRayGrowingAlgorithm.
Referenced by Run().
|
private |
Get List of non-seed clusters.
inputClusters | the input vector of clean clusters |
seedClusters | the input vector of seed clusters |
nonSeedClusters | the output vector of non-seed clusters |
Definition at line 73 of file ClusterGrowingAlgorithm.cc.
References lar_content::LArClusterHelper::SortByNHits().
Referenced by Run().
|
protectedpure virtual |
Select seed clusters for growing.
cleanClusters | the input vector of clean clusters |
seedClusters | the output vector of seed clusters |
Implemented in lar_content::SimpleClusterGrowingAlgorithm, and lar_content::DeltaRayGrowingAlgorithm.
Referenced by Run().
|
private |
Merge clusters.
clusterMergeMap | the map of clusters to be merged |
Definition at line 120 of file ClusterGrowingAlgorithm.cc.
References m_inputClusterListName, and lar_content::LArClusterHelper::SortByNHits().
Referenced by Run().
|
private |
Identify a set of cluster merges.
seedClusters | the input vector of seed clusters |
nonSeedClusters | the input vector of non-seed clusters |
clusterMergeMap | the output map of cluster merges |
Definition at line 91 of file ClusterGrowingAlgorithm.cc.
References lar_content::LArClusterHelper::GetClosestDistance(), and m_maxClusterSeparation.
Referenced by Run().
|
protectedvirtual |
Reimplemented in lar_content::DeltaRayGrowingAlgorithm, and lar_content::SimpleClusterGrowingAlgorithm.
Definition at line 151 of file ClusterGrowingAlgorithm.cc.
References m_inputClusterListName, and m_maxClusterSeparation.
Referenced by lar_content::SimpleClusterGrowingAlgorithm::ReadSettings(), and lar_content::DeltaRayGrowingAlgorithm::ReadSettings().
|
protectedvirtual |
Definition at line 27 of file ClusterGrowingAlgorithm.cc.
References GetListOfCleanClusters(), GetListOfNonSeedClusters(), GetListOfSeedClusters(), m_inputClusterListName, MergeClusters(), and PopulateClusterMergeMap().
|
private |
The name of the input cluster list. If not specified, will access current list.
Definition at line 79 of file ClusterGrowingAlgorithm.h.
Referenced by MergeClusters(), ReadSettings(), and Run().
|
private |
Maximum distance at which clusters can be joined.
Definition at line 81 of file ClusterGrowingAlgorithm.h.
Referenced by PopulateClusterMergeMap(), and ReadSettings().