OmnibusPMTNoiseFilter.h
Go to the documentation of this file.
1 #ifndef WIRECELLSIGPROC_OMNIBUSPMTNOISEFILTER
2 #define WIRECELLSIGPROC_OMNIBUSPMTNOISEFILTER
3 
8 
9 
10 
11 namespace WireCell {
12  namespace SigProc {
13 
15  public:
16  typedef std::vector< std::vector<int> > grouped_channels_t;
17 
18  /// Create an OmnibusPMTNoiseFilter.
19  OmnibusPMTNoiseFilter(const std::string anode_tn = "AnodePlane", int pad_window = 5, int min_window_length = 4, int threshold = 4, float rms_threshold = 0.5, int sort_wires = 4, float ind_th1 = 2.0, float ind_th2 = 0.5, int nwire_pmt_col_th = 6);
20  virtual ~OmnibusPMTNoiseFilter();
21 
22  /// IFrameFilter interface.
23  virtual bool operator()(const input_pointer& in, output_pointer& out);
24 
25  /// IConfigurable interface.
26  virtual void configure(const WireCell::Configuration& config);
28 
29 
30  /// Explicitly inject required services
31  void IDPMTSignalCollection(Waveform::realseq_t& signal,double rms, int ch);
32  void IDPMTSignalInduction(Waveform::realseq_t& signal, double rms, int ch, int plane);
33  void RemovePMTSignal(Waveform::realseq_t& signal, int start_bin, int end_bin, int flag=0);
34 
35  private:
39 
44 
46  float m_ind_th1;
47  float m_ind_th2;
49 
50 
51  };
52  }
53 }
54 
55 #endif
56 // Local Variables:
57 // mode: c++
58 // c-basic-offset: 2
59 // End:
Sequence< real_t > realseq_t
Definition: Waveform.h:31
double rms(sqlite3 *db, std::string const &table_name, std::string const &column_name)
Definition: statistics.cc:39
std::string string
Definition: nybbler.cc:12
void IDPMTSignalInduction(Waveform::realseq_t &signal, double rms, int ch, int plane)
virtual void configure(const WireCell::Configuration &config)
IConfigurable interface.
void IDPMTSignalCollection(Waveform::realseq_t &signal, double rms, int ch)
Explicitly inject required services.
std::shared_ptr< const IFrame > input_pointer
Definition: IFunctionNode.h:39
virtual bool operator()(const input_pointer &in, output_pointer &out)
IFrameFilter interface.
static Config * config
Definition: config.cpp:1054
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
void RemovePMTSignal(Waveform::realseq_t &signal, int start_bin, int end_bin, int flag=0)
OmnibusPMTNoiseFilter(const std::string anode_tn="AnodePlane", int pad_window=5, int min_window_length=4, int threshold=4, float rms_threshold=0.5, int sort_wires=4, float ind_th1=2.0, float ind_th2=0.5, int nwire_pmt_col_th=6)
Create an OmnibusPMTNoiseFilter.
std::vector< std::vector< int > > grouped_channels_t
std::shared_ptr< const IFrame > output_pointer
Definition: IFunctionNode.h:40
Definition: Main.h:22
Json::Value Configuration
Definition: Configuration.h:50
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.