LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
IClusterAlg.h
Go to the documentation of this file.
1 
9 #ifndef IClusterAlg_h
10 #define IClusterAlg_h
11 
12 // Framework Includes
13 #include "fhiclcpp/ParameterSet.h"
14 
15 // Algorithm includes
17 
18 //------------------------------------------------------------------------------------------------------------------------------------------
19 
20 namespace lar_cluster3d
21 {
26 {
27 public:
31  virtual ~IClusterAlg() noexcept = default;
32 
38  virtual void configure(const fhicl::ParameterSet&) = 0;
39 
46  virtual void Cluster3DHits(reco::HitPairList& hitPairList,
47  reco::ClusterParametersList& clusterParametersList) const = 0;
48 
55  virtual void Cluster3DHits(reco::HitPairListPtr& hitPairList,
56  reco::ClusterParametersList& clusterParametersList) const = 0;
57 
63  RUNDBSCAN = 2,
67  };
68 
72  virtual float getTimeToExecute(TimeValues index) const = 0;
73 
74 };
75 
76 } // namespace lar_cluster3d
77 #endif
virtual ~IClusterAlg() noexcept=default
Virtual Destructor.
IClusterAlg interface class definiton.
Definition: IClusterAlg.h:25
std::list< std::unique_ptr< reco::ClusterHit3D >> HitPairList
Definition: Cluster3D.h:319
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:61
std::list< const reco::ClusterHit3D * > HitPairListPtr
Definition: Cluster3D.h:315
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
std::list< ClusterParameters > ClusterParametersList
Definition: Cluster3D.h:335