10 #ifndef INoiseFilter_h
11 #define INoiseFilter_h
14 #include "fhiclcpp/ParameterSet.h"
15 #include "art/Framework/Principal/Event.h"
18 #include "artdaq-core/Data/Fragment.hh"
20 class DetectorClocksData;
23 #include "icarus_signal_processing/ICARUSSigProcDefs.h"
45 virtual void configure(
const fhicl::ParameterSet&) = 0;
58 const icarus_signal_processing::ArrayFloat&,
64 virtual const icarus_signal_processing::VectorInt&
getChannelIDs()
const = 0;
69 virtual const icarus_signal_processing::ArrayBool&
getSelectionVals()
const = 0;
74 virtual const icarus_signal_processing::ArrayBool&
getROIVals()
const = 0;
79 virtual const icarus_signal_processing::ArrayFloat&
getRawWaveforms()
const = 0;
89 virtual const icarus_signal_processing::ArrayFloat&
getIntrinsicRMS()
const = 0;
109 virtual const icarus_signal_processing::VectorFloat&
getPedestalVals()
const = 0;
114 virtual const icarus_signal_processing::VectorFloat&
getFullRMSVals()
const = 0;
119 virtual const icarus_signal_processing::VectorFloat&
getTruncRMSVals()
const = 0;
124 virtual const icarus_signal_processing::VectorInt&
getNumTruncBins()
const = 0;
virtual const icarus_signal_processing::ArrayFloat & getWaveLessCoherent() const =0
Recover the waveforms less coherent noise.
virtual const icarus_signal_processing::ArrayFloat & getPedCorWaveforms() const =0
Recover the pedestal corrected waveforms.
virtual const icarus_signal_processing::ArrayBool & getROIVals() const =0
Recover the ROI values.
virtual const icarus_signal_processing::ArrayBool & getSelectionVals() const =0
Recover the selection values.
virtual const icarus_signal_processing::ArrayFloat & getIntrinsicRMS() const =0
Recover the "intrinsic" RMS.
virtual void process_fragment(detinfo::DetectorClocksData const &, const daq::INoiseFilter::ChannelPlaneVec &, const icarus_signal_processing::ArrayFloat &, const size_t &)=0
std::pair< unsigned int, unsigned int > ChannelPlanePair
Given a set of recob hits, run DBscan to form 3D clusters.
virtual const icarus_signal_processing::ArrayFloat & getMorphedWaveforms() const =0
Recover the morphological filter waveforms.
virtual const icarus_signal_processing::VectorFloat & getTruncRMSVals() const =0
Recover the truncated RMS noise.
virtual const icarus_signal_processing::VectorInt & getChannelIDs() const =0
Recover the channels for the processed fragment.
virtual const icarus_signal_processing::ArrayFloat & getCorrectedMedians() const =0
Recover the correction median values.
IDecoderFilter interface class definiton.
virtual const icarus_signal_processing::ArrayFloat & getRawWaveforms() const =0
Recover the original raw waveforms.
virtual const icarus_signal_processing::VectorFloat & getPedestalVals() const =0
Recover the pedestals for each channel.
virtual const icarus_signal_processing::VectorInt & getNumTruncBins() const =0
Recover the number of bins after truncation.
Contains all timing reference information for the detector.
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
virtual const icarus_signal_processing::VectorFloat & getFullRMSVals() const =0
Recover the full RMS before coherent noise.
virtual ~INoiseFilter() noexcept=default
Virtual Destructor.
std::vector< ChannelPlanePair > ChannelPlaneVec