ShowerRecoManager.h
Go to the documentation of this file.
1 /**
2  * \file ShowerRecoManager.h
3  *
4  * \ingroup ShowerReco3D
5  *
6  * \brief Class def header for a class ShowerRecoManager
7  *
8  * @author kazuhiro
9  */
10 
11 /** \addtogroup ShowerReco3D
12 
13  @{*/
14 #ifndef LARLITE_SHOWERRECOMANAGER_H
15 #define LARLITE_SHOWERRECOMANAGER_H
16 
17 #include <vector>
18 
20 
21 namespace cmtool {
22  class CMatchManager;
23 }
24 
25 namespace geo {
26  class GeometryCore;
27 }
28 
29 namespace detinfo {
30  class DetectorClocksData;
31  class DetectorPropertiesData;
32 }
33 
34 namespace recob {
35  class Shower;
36 }
37 
38 namespace showerreco {
39 
41 
42  typedef std::vector<std::vector<unsigned int>> ClusterAss_t;
43  typedef std::vector<::util::PxHit> PxHitSet_t;
44 
45  /**
46  \class ShowerRecoManager
47  User defined class ShowerRecoManager ... these comments are used to generate
48  doxygen documentation!
49  */
51  public:
52  /// Default constructor
54 
55  void
57  {
58  fShowerAlgo = alg;
59  }
60 
61  const ShowerRecoAlgBase*
62  Algo() const
63  {
64  return fShowerAlgo;
65  }
66 
67  void Reset();
68 
69  ClusterAss_t Reconstruct(geo::GeometryCore const& geom,
70  detinfo::DetectorClocksData const& clockData,
71  detinfo::DetectorPropertiesData const& detProp,
72  const std::vector<std::vector<util::PxHit>>& clusters,
73  std::vector<::recob::Shower>& showers);
74 
75  void Reconstruct(geo::GeometryCore const& geom,
76  detinfo::DetectorClocksData const& clockData,
77  detinfo::DetectorPropertiesData const& detProp,
78  const std::vector<std::vector<util::PxHit>>& clusters,
79  const ClusterAss_t& ass,
80  std::vector<::recob::Shower>& showers);
81 
84  {
85  return *fMatchMgr;
86  }
87 
88  private:
89  /// Boolean flag to whether or not to run matching
90  bool fMatch;
91 
92  /// Shower reconstruction algorithm
94 
95  /// Cluster matching code
97 
98  void Process(geo::GeometryCore const& geom,
99  detinfo::DetectorClocksData const& clockData,
100  detinfo::DetectorPropertiesData const& detProp,
101  const ClusterAss_t& ass,
102  std::vector<::recob::Shower>& showers);
103  };
104 }
105 
106 #endif
107 /** @} */ // end of doxygen group
void Algo(ShowerRecoAlgBase *alg)
std::vector< std::vector< unsigned int > > ClusterAss_t
Reconstruction base classes.
struct vector vector
::showerreco::ShowerRecoAlgBase * fShowerAlgo
Shower reconstruction algorithm.
std::vector<::util::PxHit > PxHitSet_t
bool fMatch
Boolean flag to whether or not to run matching.
General LArSoft Utilities.
Description of geometry of one entire detector.
::cmtool::CMatchManager * fMatchMgr
Cluster matching code.
::cmtool::CMatchManager & MatchManager()
Contains all timing reference information for the detector.
const ShowerRecoAlgBase * Algo() const
LArSoft geometry interface.
Definition: ChannelGeo.h:16