WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::IChannelNoiseDatabase Class Referenceabstract

#include <IChannelNoiseDatabase.h>

Inheritance diagram for WireCell::IChannelNoiseDatabase:
Collaboration diagram for WireCell::IChannelNoiseDatabase:

Public Types

typedef WireCell::Waveform::compseq_t filter_t
 The data type for all frequency-space, multiplicative filters. More...
 
typedef std::vector< int > channel_group_t
 
- Public Types inherited from WireCell::IComponent< IChannelNoiseDatabase >
typedef std::shared_ptr< IChannelNoiseDatabasepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 

Public Member Functions

virtual ~IChannelNoiseDatabase ()
 
virtual double sample_time () const =0
 FIXME: how to handle state changes? More...
 
virtual double nominal_baseline (int channel) const =0
 Return a nominal baseline correction (additive offset) More...
 
virtual double gain_correction (int channel) const =0
 
virtual double response_offset (int channel) const =0
 Return a time offset associated with the response(). More...
 
virtual int pad_window_front (int channel) const =0
 
virtual int pad_window_back (int channel) const =0
 
virtual float coherent_nf_decon_limit (int channel) const =0
 
virtual float coherent_nf_decon_lf_cutoff (int channel) const =0
 
virtual float coherent_nf_adc_limit (int channel) const =0
 
virtual float coherent_nf_decon_limit1 (int channel) const =0
 
virtual float coherent_nf_protection_factor (int channel) const =0
 
virtual float coherent_nf_min_adc_limit (int channel) const =0
 
virtual double min_rms_cut (int channel) const =0
 
virtual double max_rms_cut (int channel) const =0
 
virtual const filter_trcrc (int channel) const =0
 Return the filter for the RC+RC coupling response function. More...
 
virtual const filter_tconfig (int channel) const =0
 Return the filter to correct any wrongly configured channels. More...
 
virtual const filter_tnoise (int channel) const =0
 Return the filter to attenuate noise. More...
 
virtual const filter_tresponse (int channel) const =0
 A nominal detector response spectrum for a given channel. More...
 
virtual std::vector< channel_group_tcoherent_channels () const =0
 Return channel grouping for coherent noise subtraction. More...
 
virtual channel_group_t bad_channels () const
 Return channels which are considered a'priori "bad". More...
 
virtual channel_group_t miscfg_channels () const
 Return channels which are considered a'priori "misconfigured". More...
 
- Public Member Functions inherited from WireCell::IComponent< IChannelNoiseDatabase >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 

Detailed Description

Definition at line 14 of file IChannelNoiseDatabase.h.

Member Typedef Documentation

◆ channel_group_t

Definition at line 19 of file IChannelNoiseDatabase.h.

◆ filter_t

The data type for all frequency-space, multiplicative filters.

Definition at line 18 of file IChannelNoiseDatabase.h.

Constructor & Destructor Documentation

◆ ~IChannelNoiseDatabase()

IChannelNoiseDatabase::~IChannelNoiseDatabase ( )
virtual

Definition at line 102 of file IfaceDesctructors.cxx.

Member Function Documentation

◆ bad_channels()

virtual channel_group_t WireCell::IChannelNoiseDatabase::bad_channels ( ) const
inlinevirtual

Return channels which are considered a'priori "bad".

Reimplemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

Definition at line 79 of file IChannelNoiseDatabase.h.

◆ coherent_channels()

virtual std::vector<channel_group_t> WireCell::IChannelNoiseDatabase::coherent_channels ( ) const
pure virtual

Return channel grouping for coherent noise subtraction.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ coherent_nf_adc_limit()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_adc_limit ( int  channel) const
pure virtual

◆ coherent_nf_decon_lf_cutoff()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_decon_lf_cutoff ( int  channel) const
pure virtual

◆ coherent_nf_decon_limit()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_decon_limit ( int  channel) const
pure virtual

◆ coherent_nf_decon_limit1()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_decon_limit1 ( int  channel) const
pure virtual

◆ coherent_nf_min_adc_limit()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_min_adc_limit ( int  channel) const
pure virtual

◆ coherent_nf_protection_factor()

virtual float WireCell::IChannelNoiseDatabase::coherent_nf_protection_factor ( int  channel) const
pure virtual

◆ config()

virtual const filter_t& WireCell::IChannelNoiseDatabase::config ( int  channel) const
pure virtual

Return the filter to correct any wrongly configured channels.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ gain_correction()

virtual double WireCell::IChannelNoiseDatabase::gain_correction ( int  channel) const
pure virtual

Return simple gain correction (a multiplicative, unitless scaling) to apply to a given channel.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ max_rms_cut()

virtual double WireCell::IChannelNoiseDatabase::max_rms_cut ( int  channel) const
pure virtual

◆ min_rms_cut()

virtual double WireCell::IChannelNoiseDatabase::min_rms_cut ( int  channel) const
pure virtual

◆ miscfg_channels()

virtual channel_group_t WireCell::IChannelNoiseDatabase::miscfg_channels ( ) const
inlinevirtual

Return channels which are considered a'priori "misconfigured".

Reimplemented in WireCell::SigProc::OmniChannelNoiseDB.

Definition at line 84 of file IChannelNoiseDatabase.h.

◆ noise()

virtual const filter_t& WireCell::IChannelNoiseDatabase::noise ( int  channel) const
pure virtual

Return the filter to attenuate noise.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ nominal_baseline()

virtual double WireCell::IChannelNoiseDatabase::nominal_baseline ( int  channel) const
pure virtual

Return a nominal baseline correction (additive offset)

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ pad_window_back()

virtual int WireCell::IChannelNoiseDatabase::pad_window_back ( int  channel) const
pure virtual

◆ pad_window_front()

virtual int WireCell::IChannelNoiseDatabase::pad_window_front ( int  channel) const
pure virtual

◆ rcrc()

virtual const filter_t& WireCell::IChannelNoiseDatabase::rcrc ( int  channel) const
pure virtual

Return the filter for the RC+RC coupling response function.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ response()

virtual const filter_t& WireCell::IChannelNoiseDatabase::response ( int  channel) const
pure virtual

A nominal detector response spectrum for a given channel.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ response_offset()

virtual double WireCell::IChannelNoiseDatabase::response_offset ( int  channel) const
pure virtual

Return a time offset associated with the response().

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.

◆ sample_time()

virtual double WireCell::IChannelNoiseDatabase::sample_time ( ) const
pure virtual

FIXME: how to handle state changes?

Return the time-domain sample period (time in system of units) which is was used in producing the filter response spectral functions (filter_t).

Warning: take care that the number of frequency samples (filter_t::size()) is fixed and may not match the number of ticks in your waveform.

Implemented in WireCell::SigProc::OmniChannelNoiseDB, and WireCell::SigProc::SimpleChannelNoiseDB.


The documentation for this class was generated from the following files: