Pandora
Pandora source code navigator
|
ClusterGrowingAlgorithm class. More...
#include "ClusterGrowingAlgorithm.h"
Public Member Functions | |
ClusterGrowingAlgorithm () | |
Default constructor. | |
const std::string & | GetType () const |
Get the type. | |
const std::string & | GetInstanceName () const |
Get the instance name. | |
const Pandora & | GetPandora () const |
Get the associated pandora instance. | |
Protected Types | |
typedef std::unordered_map< const pandora::Cluster *, pandora::ClusterList > | ClusterMergeMap |
Protected Member Functions | |
virtual pandora::StatusCode | Run () |
Run the algorithm. | |
virtual pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Read the algorithm settings. | |
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. | |
virtual void | GetListOfSeedClusters (const pandora::ClusterVector &cleanClusters, pandora::ClusterVector &seedClusters) const =0 |
Select seed clusters for growing. | |
virtual StatusCode | Initialize () |
Perform any operations that must occur after reading settings, but before running the process. | |
virtual StatusCode | Reset () |
Perform any operations when pandora is reset, typically at the end of each event. | |
StatusCode | RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName) |
Register i) the pandora instance that will run the process and ii) the process type. | |
Protected Attributes | |
const Pandora * | m_pPandora |
The pandora object that will run the process. | |
std::string | m_type |
The process type. | |
std::string | m_instanceName |
The process instance name. | |
Private Member Functions | |
void | GetListOfNonSeedClusters (const pandora::ClusterVector &inputClusters, const pandora::ClusterVector &seedClusters, pandora::ClusterVector &nonSeedClusters) const |
Get List of non-seed clusters. | |
void | PopulateClusterMergeMap (const pandora::ClusterVector &seedClusters, const pandora::ClusterVector &nonSeedClusters, ClusterMergeMap &clusterMergeMap) const |
Identify a set of cluster merges. | |
void | MergeClusters (const ClusterMergeMap &clusterMergeMap) const |
Merge clusters. | |
Private Attributes | |
std::string | m_inputClusterListName |
The name of the input cluster list. If not specified, will access current list. | |
float | m_maxClusterSeparation |
Maximum distance at which clusters can be joined. | |
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.
|
inlineinherited |
|
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.
|
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 72 of file ClusterGrowingAlgorithm.cc.
|
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.
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Perform any operations that must occur after reading settings, but before running the process.
Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.
Definition at line 126 of file Process.h.
|
private |
Merge clusters.
clusterMergeMap | the map of clusters to be merged |
Definition at line 119 of file ClusterGrowingAlgorithm.cc.
|
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 90 of file ClusterGrowingAlgorithm.cc.
|
protectedvirtual |
Read the algorithm settings.
xmlHandle | the relevant xml handle |
Implements pandora::Process.
Reimplemented in lar_content::SimpleClusterGrowingAlgorithm, and lar_content::DeltaRayGrowingAlgorithm.
Definition at line 150 of file ClusterGrowingAlgorithm.cc.
|
inlineprotectedinherited |
Register i) the pandora instance that will run the process and ii) the process type.
pPandora | address of the pandora object that will run the process |
type | the process type |
instanceName | the process instance name |
Definition at line 146 of file Process.h.
|
inlineprotectedvirtualinherited |
Perform any operations when pandora is reset, typically at the end of each event.
Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.
Definition at line 133 of file Process.h.
|
protectedvirtual |
Run the algorithm.
Implements pandora::Algorithm.
Definition at line 26 of file ClusterGrowingAlgorithm.cc.
|
private |
The name of the input cluster list. If not specified, will access current list.
Definition at line 79 of file ClusterGrowingAlgorithm.h.
|
protectedinherited |
|
private |
Maximum distance at which clusters can be joined.
Definition at line 81 of file ClusterGrowingAlgorithm.h.
|
protectedinherited |
|
protectedinherited |