LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
SlicingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_SLICING_ALGORITHM_H
9 #define LAR_SLICING_ALGORITHM_H 1
10 
11 #include "Pandora/AlgorithmTool.h"
12 #include "Pandora/Algorithm.h"
13 
14 namespace lar_content
15 {
16 
17 class EventSlicingBaseTool;
18 
19 //------------------------------------------------------------------------------------------------------------------------------------------
20 
24 class SlicingAlgorithm : public pandora::Algorithm
25 {
26 public:
30  class Slice
31  {
32  public:
33  pandora::CaloHitList m_caloHitListU;
34  pandora::CaloHitList m_caloHitListV;
35  pandora::CaloHitList m_caloHitListW;
36  };
37 
38  typedef std::vector<Slice> SliceList;
39  typedef std::map<pandora::HitType, std::string> HitTypeToNameMap;
40 
45 
46 private:
47  pandora::StatusCode Run();
48  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
49 
52 
53  HitTypeToNameMap m_caloHitListNames;
54  HitTypeToNameMap m_clusterListNames;
55 
56  std::string m_sliceClusterListName;
57  std::string m_slicePfoListName;
58 };
59 
60 //------------------------------------------------------------------------------------------------------------------------------------------
61 //------------------------------------------------------------------------------------------------------------------------------------------
62 
66 class EventSlicingBaseTool : public pandora::AlgorithmTool
67 {
68 public:
77  virtual void RunSlicing(const pandora::Algorithm *const pAlgorithm, const SlicingAlgorithm::HitTypeToNameMap &caloHitListNames,
78  const SlicingAlgorithm::HitTypeToNameMap &clusterListNames, SlicingAlgorithm::SliceList &sliceList) = 0;
79 };
80 
81 } // namespace lar_content
82 
83 #endif // #ifndef LAR_SLICING_ALGORITHM_H
SlicingAlgorithm class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
HitTypeToNameMap m_caloHitListNames
The hit type to calo hit list name map.
EventSlicingBaseTool class.
std::string m_slicingListDeletionAlgorithm
The name of the slicing list deletion algorithm.
std::string m_sliceClusterListName
The name of the output slice cluster list.
HitTypeToNameMap m_clusterListNames
The hit type to cluster list name map.
pandora::CaloHitList m_caloHitListU
The u calo hit list.
pandora::CaloHitList m_caloHitListW
The w calo hit list.
SlicingAlgorithm()
Default constructor.
std::vector< Slice > SliceList
std::string m_slicePfoListName
The name of the output slice pfo list.
std::map< pandora::HitType, std::string > HitTypeToNameMap
pandora::CaloHitList m_caloHitListV
The v calo hit list.
EventSlicingBaseTool * m_pEventSlicingTool
The address of the event slicing tool.