LArSoft  v06_85_00
Liquid Argon Software toolkit - http://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 <iostream>
21 #include "ShowerRecoException.h"
22 #include <limits>
23 #include <climits>
24 namespace showerreco {
25 
26  struct ShowerCluster_t {
27 
30  double angle_2d;
31  unsigned short plane_id;
32  std::vector< ::util::PxHit> hit_vector;
33 
34  };
35 
42 
43  public:
44 
47 
49  virtual ~ShowerRecoAlgBase(){}
50 
52  virtual void Reset() = 0;
53 
55  virtual void AppendInputClusters(const std::vector<cluster::ClusterParamsAlg>& cpan_v);
56 
58  std::vector<recob::Shower> Reconstruct();
59 
61  virtual void Verbose(bool on=true) { fVerbosity=on; }
62 
64  void CaloAlgo(::calo::CalorimetryAlg* alg) { fCaloAlg = alg; }
65 
66  protected:
67 
69  virtual void ProcessInputClusters()
70  { return; }
71 
73  virtual ::recob::Shower RecoOneShower(const std::vector<showerreco::ShowerCluster_t>& clusters) = 0;
74 
75  protected:
76 
78  bool fVerbosity;
79 
82 
84  std::vector<std::vector<showerreco::ShowerCluster_t> > fInputClusters;
85  };
86 }
87 
88 #endif
89  // end of doxygen group
90 
virtual void ProcessInputClusters()
Function to reorganize input cluster information.
::calo::CalorimetryAlg * fCaloAlg
Calorimetry algorithm.
virtual ~ShowerRecoAlgBase()
Default destructor.
std::vector< std::vector< showerreco::ShowerCluster_t > > fInputClusters
Input clusters.
void CaloAlgo(::calo::CalorimetryAlg *alg)
Calorimetry algorithm setter.
ntupleExperimental Reset()
bool fVerbosity
Verbosity flag.
virtual void Verbose(bool on=true)
Verbosity switch.
std::vector< ::util::PxHit > hit_vector
Class def header for exception classes in ShowerReco3D package.