LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
IHit3DBuilder.h
Go to the documentation of this file.
1 
9 #ifndef IHit3DBuilder_h
10 #define IHit3DBuilder_h
11 
12 // Framework Includes
13 #include "fhiclcpp/ParameterSet.h"
15 
16 // Algorithm includes
18 
19 //------------------------------------------------------------------------------------------------------------------------------------------
20 
21 namespace lar_cluster3d
22 {
27 {
28 public:
32  virtual ~IHit3DBuilder() noexcept = default;
33 
39  virtual void configure(const fhicl::ParameterSet&) = 0;
40 
44  using RecobHitToPtrMap = std::map<const recob::Hit*, art::Ptr<recob::Hit>>;
45 
52  virtual void Hit3DBuilder(const art::Event&, reco::HitPairList&, RecobHitToPtrMap&) const = 0;
53 
60  };
61 
65  virtual float getTimeToExecute(TimeValues index) const = 0;
66 
67 };
68 
69 } // namespace lar_cluster3d
70 #endif
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
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 Hit3DBuilder(const art::Event &, reco::HitPairList &, RecobHitToPtrMap &) 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: IHit3DBuilder.h:57
std::map< const recob::Hit *, art::Ptr< recob::Hit >> RecobHitToPtrMap
Defines a structure mapping art representation to internal.
Definition: IHit3DBuilder.h:44
IHit3DBuilder interface class definiton.
Definition: IHit3DBuilder.h:26
virtual ~IHit3DBuilder() noexcept=default
Virtual Destructor.