APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
SurroundingHitsMergingAlgorithm.h
Go to the documentation of this file.
1 /*
3  *
4  * SurroundingHitsMergingAlgorithm.h header template automatically generated by a class generator
5  * Creation date : jeu. nov. 19 2015
6  *
7  * This file is part of APRILContent libraries.
8  *
9  * APRILContent is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  * based upon these libraries are permitted. Any copy of these libraries
14  * must include this copyright notice.
15  *
16  * APRILContent is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with APRILContent. If not, see <http://www.gnu.org/licenses/>.
23  *
24  * @author Remi Ete
25  * @copyright CNRS , IPNL
26  */
27 
28 
29 #ifndef SURROUNDINGHITSMERGINGALGORITHM_H
30 #define SURROUNDINGHITSMERGINGALGORITHM_H
31 
32 #include "Pandora/Algorithm.h"
33 #include "Pandora/PandoraInternal.h"
35 
36 namespace april_content
37 {
38 
39 class CaloHitMergingTool;
40 
44 class SurroundingHitsMergingAlgorithm : public pandora::Algorithm
45 {
46 public:
50  class Factory : public pandora::AlgorithmFactory
51  {
52  public:
53  pandora::Algorithm *CreateAlgorithm() const;
54  };
55 
56 private:
57  pandora::StatusCode Run();
58  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
59 
60 private:
67  pandora::StatusCode GetContents(pandora::CaloHitList &caloHitList, pandora::ClusterVector &clusterVector) const;
68 
75  pandora::StatusCode GetAvailableCaloHitList(const pandora::CaloHitList *const pCaloHitList, pandora::CaloHitList &availableCaloHitList) const;
76 
77 private:
79  pandora::StringVector m_additionalClusterListNames;
81 };
82 
83 //------------------------------------------------------------------------------------------------------------------------------------------
84 //------------------------------------------------------------------------------------------------------------------------------------------
85 
86 inline pandora::Algorithm *SurroundingHitsMergingAlgorithm::Factory::CreateAlgorithm() const
87 {
89 }
90 
91 }
92 
93 #endif // SURROUNDINGHITSMERGINGALGORITHM_H
SurroundingHitsMergingAlgorithm class.
Definition: SurroundingHitsMergingAlgorithm.h:44
pandora::StatusCode GetContents(pandora::CaloHitList &caloHitList, pandora::ClusterVector &clusterVector) const
Get the pandora content to perform the algorithm.
Definition: SurroundingHitsMergingAlgorithm.cc:73
bool m_shouldMergeIsolatedHits
Whether to merge isolated hits in clusters.
Definition: SurroundingHitsMergingAlgorithm.h:78
CaloHitMergingTool * m_pCaloHitMergingTool
The calo hit merging tool.
Definition: SurroundingHitsMergingAlgorithm.h:80
pandora::StatusCode GetAvailableCaloHitList(const pandora::CaloHitList *const pCaloHitList, pandora::CaloHitList &availableCaloHitList) const
Get the list of available calo hits.
Definition: SurroundingHitsMergingAlgorithm.cc:52
CaloHitMergingTool class.
Definition: CaloHitMergingTool.h:42
Factory class for instantiating algorithm.
Definition: SurroundingHitsMergingAlgorithm.h:50
pandora::StringVector m_additionalClusterListNames
Additional cluster list names to perform the merging.
Definition: SurroundingHitsMergingAlgorithm.h:79