LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
IHit3DBuilder.h
Go to the documentation of this file.
1 
10 #ifndef IHit3DBuilder_h
11 #define IHit3DBuilder_h
12 
13 // Framework Includes
14 namespace art {
15  class Event;
16  class ProducesCollector;
17 }
19 namespace fhicl {
20  class ParameterSet;
21 }
22 
23 // Algorithm includes
26 
27 //------------------------------------------------------------------------------------------------------------------------------------------
28 
29 namespace art {
30  class ProducesCollector;
31 }
32 
33 namespace lar_cluster3d {
37  class IHit3DBuilder {
38  public:
42  virtual ~IHit3DBuilder() noexcept = default;
43 
48  virtual void produces(art::ProducesCollector&) = 0;
49 
55  virtual void configure(const fhicl::ParameterSet&) = 0;
56 
60  using RecobHitToPtrMap = std::unordered_map<const recob::Hit*, art::Ptr<recob::Hit>>;
61 
68  virtual void Hit3DBuilder(art::Event&, reco::HitPairList&, RecobHitToPtrMap&) = 0;
69 
73  enum TimeValues { COLLECTARTHITS = 0, BUILDTHREEDHITS = 1, BUILDNEWHITS = 2, NUMTIMEVALUES };
74 
78  virtual float getTimeToExecute(TimeValues index) const = 0;
79  };
80 
81 } // namespace lar_cluster3d
82 #endif
std::list< reco::ClusterHit3D > HitPairList
Definition: Cluster3D.h:330
Declaration of signal hit object.
parameter set interface
TimeValues
enumerate the possible values for time checking if monitoring timing
Definition: IHit3DBuilder.h:73
IHit3DBuilder interface class definiton.
Definition: IHit3DBuilder.h:37
Definition: MVAAlg.h:12
std::unordered_map< const recob::Hit *, art::Ptr< recob::Hit >> RecobHitToPtrMap
Defines a structure mapping art representation to internal.
Definition: IHit3DBuilder.h:60