All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PfoMopUpBaseAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArUtility/PfoMopUpBaseAlgorithm.h
3  *
4  * @brief Header file for the pfo mop up algorithm base class.
5  *
6  * $Log: $
7  */
8 #ifndef LAR_PFO_MOP_UP_BASE_ALGORITHM_H
9 #define LAR_PFO_MOP_UP_BASE_ALGORITHM_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief PfoMopUpBaseAlgorithm class
18  */
20 {
21 public:
22  /**
23  * @brief Merge and delete a pair of pfos, with a specific set of conventions for cluster merging, vertex use, etc.
24  *
25  * @param pPfoToEnlarge the address of the pfo to enlarge
26  * @param pPfoToDelete the address of the pfo to delete (will become a dangling pointer)
27  */
28  virtual void MergeAndDeletePfos(const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete) const;
29 
30  /**
31  * @brief Select the parent cluster (same hit type and most hits) using a provided cluster list and hit type
32  *
33  * @param clusterList the cluster list
34  * @param hitType the hit type
35  *
36  * @return the address of the parent cluster
37  */
38  static const pandora::Cluster *GetParentCluster(const pandora::ClusterList &clusterList, const pandora::HitType hitType);
39 
40 protected:
41  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
42 };
43 
44 } // namespace lar_content
45 
46 #endif // #ifndef LAR_PFO_MOP_UP_BASE_ALGORITHM_H
MopUpBaseAlgorithm class.
Header file for the mop up algorithm base class.
PfoMopUpBaseAlgorithm class.
static const pandora::Cluster * GetParentCluster(const pandora::ClusterList &clusterList, const pandora::HitType hitType)
Select the parent cluster (same hit type and most hits) using a provided cluster list and hit type...
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
virtual void MergeAndDeletePfos(const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete) const
Merge and delete a pair of pfos, with a specific set of conventions for cluster merging, vertex use, etc.