All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IRawDigitFilter.h
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 ///
3 /// \file IRawDigitFilter.h
4 ///
5 /// \brief This provides an interface for tools which are tasked with
6 /// filtering input waveforms
7 ///
8 /// \author T. Usher
9 ///
10 ////////////////////////////////////////////////////////////////////////
11 
12 #ifndef IRawDigitFilter_H
13 #define IRawDigitFilter_H
14 
15 #include "fhiclcpp/ParameterSet.h"
17 #include "TProfile.h"
18 
19 namespace art
20 {
21  class TFileDirectory;
22 }
23 
24 namespace caldata
25 {
26  enum HistogramType : int
27  {
38  };
39 
40  using HistogramMap = std::map<int, TProfile*>;
41 
43  {
44  public:
45  virtual ~IRawDigitFilter() noexcept = default;
46 
47  virtual void configure(const fhicl::ParameterSet& pset) = 0;
48  virtual void initializeHistograms(art::TFileDirectory&) const = 0;
49  virtual size_t plane() const = 0;
50 
51  // Find the ROI's
52  virtual void FilterWaveform(RawDigitVector&, size_t, size_t, float = 0.) const = 0;
53  };
54 }
55 
56 #endif
virtual size_t plane() const =0
virtual void initializeHistograms(art::TFileDirectory &) const =0
raw::RawDigit::ADCvector_t RawDigitVector
virtual ~IRawDigitFilter() noexcept=default
virtual void FilterWaveform(RawDigitVector &, size_t, size_t, float=0.) const =0
virtual void configure(const fhicl::ParameterSet &pset)=0
std::map< int, TProfile * > HistogramMap
process_name can override from command line with o or output caldata
Definition: pid.fcl:40