All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IFilter.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file IFilter.h
4 ///
5 /// \brief This is the interface class for a tool to handle a filter
6 /// for the overall response
7 ///
8 /// \author T. Usher
9 ///
10 ////////////////////////////////////////////////////////////////////////
11 
12 #ifndef IFilter_H
13 #define IFilter_H
14 
15 #include "fhiclcpp/ParameterSet.h"
17 
18 namespace art
19 {
20  class TFileDirectory;
21 }
22 
23 namespace icarus_tool
24 {
25  class IFilter
26  {
27  public:
28  virtual ~IFilter() noexcept = default;
29 
30  virtual void configure(const fhicl::ParameterSet& pset) = 0;
31  virtual void setResponse(size_t numBins, double correct3D, double timeScaleFctr) = 0;
32  virtual void outputHistograms(art::TFileDirectory&) const = 0;
33 
34  virtual size_t getPlane() const = 0;
35  virtual const icarusutil::FrequencyVec& getResponseVec() const = 0;
36  };
37 }
38 
39 #endif
virtual void configure(const fhicl::ParameterSet &pset)=0
virtual size_t getPlane() const =0
virtual const icarusutil::FrequencyVec & getResponseVec() const =0
virtual ~IFilter() noexcept=default
virtual void outputHistograms(art::TFileDirectory &) const =0
std::vector< ComplexVal > FrequencyVec
virtual void setResponse(size_t numBins, double correct3D, double timeScaleFctr)=0
Useful definitions.