LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
ShowerRecoAlgBase.h
Go to the documentation of this file.
1 
14 #ifndef RECOTOOL_SHOWERRECOALGBASE_H
15 #define RECOTOOL_SHOWERRECOALGBASE_H
16 
17 #include <vector>
18 
22 namespace calo {
23  class CalorimetryAlg;
24 }
25 namespace cluster {
26  class ClusterParamsAlg;
27 }
28 namespace detinfo {
29  class DetectorClocksData;
30  class DetectorPropertiesData;
31 }
32 
33 namespace showerreco {
34 
35  struct ShowerCluster_t {
38  double angle_2d;
39  unsigned short plane_id;
40  std::vector<::util::PxHit> hit_vector;
41  };
42 
49  public:
50  virtual ~ShowerRecoAlgBase() = default;
51 
53  virtual void Reset();
54 
56  virtual void AppendInputClusters(const std::vector<cluster::ClusterParamsAlg>& cpan_v);
57 
59  std::vector<recob::Shower> Reconstruct(geo::GeometryCore const& geom,
60  geo::WireReadoutGeom const& wireReadoutGeom,
61  detinfo::DetectorClocksData const& clockData,
62  detinfo::DetectorPropertiesData const& detProp);
63 
64  protected:
66  virtual void ProcessInputClusters() {}
67 
69  virtual ::recob::Shower RecoOneShower(
70  geo::GeometryCore const& geom,
71  geo::WireReadoutGeom const& wireReadoutGeom,
72  detinfo::DetectorClocksData const& clockData,
73  detinfo::DetectorPropertiesData const& detProp,
74  const std::vector<showerreco::ShowerCluster_t>& clusters) = 0;
75 
76  protected:
78  std::vector<std::vector<showerreco::ShowerCluster_t>> fInputClusters;
79  };
80 }
81 
82 #endif
83  // end of doxygen group
virtual void ProcessInputClusters()
Function to reorganize input cluster information.
std::vector< std::vector< showerreco::ShowerCluster_t > > fInputClusters
Input clusters.
Cluster finding and building.
std::vector<::util::PxHit > hit_vector
ntupleExperimental Reset()
Interface for a class providing readout channel mapping to geometry.
General LArSoft Utilities.
Description of the physical geometry of one entire detector.
Definition: GeometryCore.h:91
Contains all timing reference information for the detector.
calorimetry