WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::SigProc::OmniChannelNoiseDB Class Reference

#include <OmniChannelNoiseDB.h>

Inheritance diagram for WireCell::SigProc::OmniChannelNoiseDB:
Collaboration diagram for WireCell::SigProc::OmniChannelNoiseDB:

Public Member Functions

 OmniChannelNoiseDB ()
 
virtual ~OmniChannelNoiseDB ()
 
virtual void configure (const WireCell::Configuration &config)
 Accept a configuration. More...
 
virtual WireCell::Configuration default_configuration () const
 Optional, override to return a hard-coded default configuration. More...
 
virtual double sample_time () const
 FIXME: how to handle state changes? More...
 
virtual double nominal_baseline (int channel) const
 Return a nominal baseline correction (additive offset) More...
 
virtual double gain_correction (int channel) const
 
virtual double response_offset (int channel) const
 Return a time offset associated with the response(). More...
 
virtual double min_rms_cut (int channel) const
 
virtual double max_rms_cut (int channel) const
 
virtual int pad_window_front (int channel) const
 
virtual int pad_window_back (int channel) const
 
virtual float coherent_nf_decon_limit (int channel) const
 
virtual float coherent_nf_decon_lf_cutoff (int channel) const
 
virtual float coherent_nf_decon_limit1 (int channel) const
 
virtual float coherent_nf_adc_limit (int channel) const
 
virtual float coherent_nf_protection_factor (int channel) const
 
virtual float coherent_nf_min_adc_limit (int channel) const
 
virtual const filter_trcrc (int channel) const
 Return the filter for the RC+RC coupling response function. More...
 
virtual const filter_tconfig (int channel) const
 Return the filter to correct any wrongly configured channels. More...
 
virtual const filter_tnoise (int channel) const
 Return the filter to attenuate noise. More...
 
virtual const filter_tresponse (int channel) const
 A nominal detector response spectrum for a given channel. More...
 
virtual std::vector< channel_group_tcoherent_channels () const
 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::IChannelNoiseDatabase
virtual ~IChannelNoiseDatabase ()
 
- Public Member Functions inherited from WireCell::IComponent< IChannelNoiseDatabase >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 
- Public Member Functions inherited from WireCell::IConfigurable
virtual ~IConfigurable ()
 
- Public Member Functions inherited from WireCell::IComponent< IConfigurable >
virtual ~IComponent ()
 

Protected Member Functions

virtual void set_bad_channels (const channel_group_t &bad)
 
virtual void set_misconfigured (const std::vector< int > &channels, double from_gain, double from_shaping, double to_gain, double to_shaping, bool reset=false)
 

Additional Inherited Members

- Public Types inherited from WireCell::IChannelNoiseDatabase
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 Types inherited from WireCell::IComponent< IConfigurable >
typedef std::shared_ptr< IConfigurablepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 

Detailed Description

Definition at line 24 of file OmniChannelNoiseDB.h.

Constructor & Destructor Documentation

◆ OmniChannelNoiseDB()

OmniChannelNoiseDB::OmniChannelNoiseDB ( )

Create a configurable channel noise DB for digitized waveforms with the given size and number of samples. Default is for microphone.

Definition at line 14 of file OmniChannelNoiseDB.cxx.

◆ ~OmniChannelNoiseDB()

OmniChannelNoiseDB::~OmniChannelNoiseDB ( )
virtual

Definition at line 21 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:

Member Function Documentation

◆ bad_channels()

virtual channel_group_t WireCell::SigProc::OmniChannelNoiseDB::bad_channels ( ) const
inlinevirtual

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

Reimplemented from WireCell::IChannelNoiseDatabase.

Definition at line 67 of file OmniChannelNoiseDB.h.

◆ coherent_channels()

virtual std::vector<channel_group_t> WireCell::SigProc::OmniChannelNoiseDB::coherent_channels ( ) const
inlinevirtual

Return channel grouping for coherent noise subtraction.

Implements WireCell::IChannelNoiseDatabase.

Definition at line 64 of file OmniChannelNoiseDB.h.

◆ coherent_nf_adc_limit()

float OmniChannelNoiseDB::coherent_nf_adc_limit ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 693 of file OmniChannelNoiseDB.cxx.

◆ coherent_nf_decon_lf_cutoff()

float OmniChannelNoiseDB::coherent_nf_decon_lf_cutoff ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 683 of file OmniChannelNoiseDB.cxx.

◆ coherent_nf_decon_limit()

float OmniChannelNoiseDB::coherent_nf_decon_limit ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 678 of file OmniChannelNoiseDB.cxx.

◆ coherent_nf_decon_limit1()

float OmniChannelNoiseDB::coherent_nf_decon_limit1 ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 688 of file OmniChannelNoiseDB.cxx.

◆ coherent_nf_min_adc_limit()

float OmniChannelNoiseDB::coherent_nf_min_adc_limit ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 703 of file OmniChannelNoiseDB.cxx.

◆ coherent_nf_protection_factor()

float OmniChannelNoiseDB::coherent_nf_protection_factor ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 698 of file OmniChannelNoiseDB.cxx.

◆ config()

const IChannelNoiseDatabase::filter_t & OmniChannelNoiseDB::config ( int  channel) const
virtual

Return the filter to correct any wrongly configured channels.

Implements WireCell::IChannelNoiseDatabase.

Definition at line 719 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ configure()

void OmniChannelNoiseDB::configure ( const WireCell::Configuration config)
virtual

Accept a configuration.

Implements WireCell::IConfigurable.

Definition at line 582 of file OmniChannelNoiseDB.cxx.

◆ default_configuration()

WireCell::Configuration OmniChannelNoiseDB::default_configuration ( ) const
virtual

Optional, override to return a hard-coded default configuration.

These must be provided

Reimplemented from WireCell::IConfigurable.

Definition at line 54 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:

◆ gain_correction()

double OmniChannelNoiseDB::gain_correction ( int  channel) const
virtual

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

Implements WireCell::IChannelNoiseDatabase.

Definition at line 648 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ max_rms_cut()

double OmniChannelNoiseDB::max_rms_cut ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 663 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ min_rms_cut()

double OmniChannelNoiseDB::min_rms_cut ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 658 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ miscfg_channels()

virtual channel_group_t WireCell::SigProc::OmniChannelNoiseDB::miscfg_channels ( ) const
inlinevirtual

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

Reimplemented from WireCell::IChannelNoiseDatabase.

Definition at line 70 of file OmniChannelNoiseDB.h.

◆ noise()

const IChannelNoiseDatabase::filter_t & OmniChannelNoiseDB::noise ( int  channel) const
virtual

Return the filter to attenuate noise.

Implements WireCell::IChannelNoiseDatabase.

Definition at line 729 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nominal_baseline()

double OmniChannelNoiseDB::nominal_baseline ( int  channel) const
virtual

Return a nominal baseline correction (additive offset)

Implements WireCell::IChannelNoiseDatabase.

Definition at line 643 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ pad_window_back()

int OmniChannelNoiseDB::pad_window_back ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 673 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ pad_window_front()

int OmniChannelNoiseDB::pad_window_front ( int  channel) const
virtual

Implements WireCell::IChannelNoiseDatabase.

Definition at line 668 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ rcrc()

const IChannelNoiseDatabase::filter_t & OmniChannelNoiseDB::rcrc ( int  channel) const
virtual

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

Implements WireCell::IChannelNoiseDatabase.

Definition at line 709 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ response()

const IChannelNoiseDatabase::filter_t & OmniChannelNoiseDB::response ( int  channel) const
virtual

A nominal detector response spectrum for a given channel.

Implements WireCell::IChannelNoiseDatabase.

Definition at line 739 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ response_offset()

double OmniChannelNoiseDB::response_offset ( int  channel) const
virtual

Return a time offset associated with the response().

Implements WireCell::IChannelNoiseDatabase.

Definition at line 653 of file OmniChannelNoiseDB.cxx.

Here is the caller graph for this function:

◆ sample_time()

double OmniChannelNoiseDB::sample_time ( ) const
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.

Implements WireCell::IChannelNoiseDatabase.

Definition at line 636 of file OmniChannelNoiseDB.cxx.

◆ set_bad_channels()

virtual void WireCell::SigProc::OmniChannelNoiseDB::set_bad_channels ( const channel_group_t bad)
inlineprotectedvirtual

Definition at line 84 of file OmniChannelNoiseDB.h.

Here is the call graph for this function:

◆ set_misconfigured()

void OmniChannelNoiseDB::set_misconfigured ( const std::vector< int > &  channels,
double  from_gain,
double  from_shaping,
double  to_gain,
double  to_shaping,
bool  reset = false 
)
protectedvirtual

Definition at line 291 of file OmniChannelNoiseDB.cxx.

Here is the call graph for this function:
Here is the caller graph for this function:

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