All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IDeconvolution.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file IDeconvolution.h
4 ///
5 /// \brief This provides an interface for tools which are tasked with
6 /// running the deconvolution algorithm. This allows switching
7 /// between, for example, algorithms that deconvolve only ROI's
8 /// vs an entire wire
9 ///
10 /// \author T. Usher
11 ///
12 ////////////////////////////////////////////////////////////////////////
13 
14 #ifndef IDeconvolution_H
15 #define IDeconvolution_H
16 
17 #include "fhiclcpp/ParameterSet.h"
20 
21 namespace art
22 {
23  class TFileDirectory;
24 }
25 
26 namespace icarus_tool
27 {
29  {
30  public:
31  virtual ~IDeconvolution() noexcept = default;
32 
33  virtual void configure(const fhicl::ParameterSet& pset) = 0;
34  virtual void initializeHistograms(art::TFileDirectory&) const = 0;
35 
36  // Find the ROI's
37  virtual void Deconvolve(IROIFinder::Waveform const&,
38  double samplingRate,
42  };
43 }
44 
45 #endif
virtual void initializeHistograms(art::TFileDirectory &) const =0
virtual ~IDeconvolution() noexcept=default
virtual void configure(const fhicl::ParameterSet &pset)=0
Declaration of basic channel signal object.
unsigned int ChannelID_t
Type representing the ID of a readout channel.
Definition: RawTypes.h:28
virtual void Deconvolve(IROIFinder::Waveform const &, double samplingRate, raw::ChannelID_t, IROIFinder::CandidateROIVec const &, recob::Wire::RegionsOfInterest_t &) const =0