Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
ClusterSplittingAlgorithm.h
Go to the documentation of this file.
1
8#ifndef LAR_CLUSTER_SPLITTING_ALGORITHM_H
9#define LAR_CLUSTER_SPLITTING_ALGORITHM_H 1
10
11#include "Pandora/Algorithm.h"
12
13#include <list>
14
15namespace lar_content
16{
17
22{
23protected:
24 virtual pandora::StatusCode Run();
26
31
40 const pandora::Cluster *const pCluster, pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const = 0;
41
42private:
49 pandora::StatusCode SplitCluster(const pandora::Cluster *const pCluster, pandora::ClusterList &clusterSplittingList) const;
50
52};
53
54} // namespace lar_content
55
56#endif // #ifndef LAR_CLUSTER_SPLITTING_ALGORITHM_H
Header file for the algorithm class.
pandora::StatusCode RunUsingCurrentList() const
Run the algorithm using the current cluster list as input.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
virtual pandora::StatusCode DivideCaloHits(const pandora::Cluster *const pCluster, pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const =0
Divide calo hits in a cluster into two lists, each associated with a separate fragment cluster.
virtual pandora::StatusCode Run()
Run the algorithm.
pandora::StringVector m_inputClusterListNames
The list of input cluster list names - if empty, use the current cluster list.
pandora::StatusCode SplitCluster(const pandora::Cluster *const pCluster, pandora::ClusterList &clusterSplittingList) const
Split cluster into two fragments.
Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully define...
Definition Algorithm.h:21
Cluster class.
Definition Cluster.h:31
MANAGED_CONTAINER< const Cluster * > ClusterList
std::vector< std::string > StringVector
MANAGED_CONTAINER< const CaloHit * > CaloHitList
StatusCode
The StatusCode enum.