10 #ifndef IDecoderFilter_h
11 #define IDecoderFilter_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;
53 const artdaq::Fragment& fragment) = 0;
58 virtual const icarus_signal_processing::VectorInt
getChannelIDs()
const = 0;
63 virtual const icarus_signal_processing::ArrayBool
getSelectionVals()
const = 0;
68 virtual const icarus_signal_processing::ArrayBool
getROIVals()
const = 0;
73 virtual const icarus_signal_processing::ArrayFloat
getRawWaveforms()
const = 0;
83 virtual const icarus_signal_processing::ArrayFloat
getIntrinsicRMS()
const = 0;
103 virtual const icarus_signal_processing::VectorFloat
getPedestalVals()
const = 0;
108 virtual const icarus_signal_processing::VectorFloat
getFullRMSVals()
const = 0;
113 virtual const icarus_signal_processing::VectorFloat
getTruncRMSVals()
const = 0;
118 virtual const icarus_signal_processing::VectorInt
getNumTruncBins()
const = 0;
virtual const icarus_signal_processing::ArrayFloat getPedCorWaveforms() const =0
Recover the pedestal corrected 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 ~IDecoderFilter() noexcept=default
Virtual Destructor.
IDecoderFilter interface class definiton.
virtual const icarus_signal_processing::ArrayFloat getIntrinsicRMS() const =0
Recover the "intrinsic" RMS.
virtual const icarus_signal_processing::ArrayFloat getWaveLessCoherent() const =0
Recover the waveforms less coherent noise.
virtual void process_fragment(detinfo::DetectorClocksData const &clockData, const artdaq::Fragment &fragment)=0
Given a set of recob hits, run DBscan to form 3D clusters.
virtual const icarus_signal_processing::ArrayFloat getCorrectedMedians() const =0
Recover the correction median values.
virtual const icarus_signal_processing::ArrayBool getSelectionVals() const =0
Recover the selection values.
virtual const icarus_signal_processing::ArrayBool getROIVals() const =0
Recover the ROI values.
Contains all timing reference information for the detector.
virtual const icarus_signal_processing::VectorFloat getFullRMSVals() const =0
Recover the full RMS before coherent noise.
virtual void configure(const fhicl::ParameterSet &)=0
Interface for configuring the particular algorithm tool.
virtual const icarus_signal_processing::ArrayFloat getMorphedWaveforms() const =0
Recover the morphological filter waveforms.
virtual const icarus_signal_processing::VectorFloat getPedestalVals() const =0
Recover the pedestals for each channel.
virtual const icarus_signal_processing::ArrayFloat getRawWaveforms() const =0
Recover the original raw waveforms.
virtual const icarus_signal_processing::VectorInt getNumTruncBins() const =0
Recover the number of bins after truncation.