LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
IClusterAlg.h
Go to the documentation of this file.
1 
9 #ifndef IClusterAlg_h
10 #define IClusterAlg_h
11 
12 // Algorithm includes
14 
15 //------------------------------------------------------------------------------------------------------------------------------------------
16 
17 namespace lar_cluster3d {
21  class IClusterAlg {
22  public:
26  virtual ~IClusterAlg() noexcept = default;
27 
34  virtual void Cluster3DHits(reco::HitPairList& hitPairList,
35  reco::ClusterParametersList& clusterParametersList) const = 0;
36 
43  virtual void Cluster3DHits(reco::HitPairListPtr& hitPairList,
44  reco::ClusterParametersList& clusterParametersList) const = 0;
45 
49  enum TimeValues {
52  RUNDBSCAN = 2,
56  };
57 
61  virtual float getTimeToExecute(TimeValues index) const = 0;
62  };
63 
64 } // namespace lar_cluster3d
65 #endif
std::list< reco::ClusterHit3D > HitPairList
Definition: Cluster3D.h:330
virtual ~IClusterAlg() noexcept=default
Virtual Destructor.
IClusterAlg interface class definiton.
Definition: IClusterAlg.h:21
virtual float getTimeToExecute(TimeValues index) const =0
If monitoring, recover the time to execute a particular function.
virtual void Cluster3DHits(reco::HitPairList &hitPairList, reco::ClusterParametersList &clusterParametersList) const =0
Given a set of recob hits, run DBscan to form 3D clusters.
TimeValues
enumerate the possible values for time checking if monitoring timing
Definition: IClusterAlg.h:49
std::list< const reco::ClusterHit3D * > HitPairListPtr
Definition: Cluster3D.h:326
std::list< ClusterParameters > ClusterParametersList
Definition: Cluster3D.h:393