edu.sc.seis.sod.process.waveform

## Class OregonDSPFilter

- java.lang.Object
- - edu.sc.seis.sod.process.waveform.OregonDSPFilter

- All Implemented Interfaces:
    WaveformProcess, SodElement, Subsetter

      public class OregonDSPFilter
      extends java.lang.Object
      implements WaveformProcess

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CAUSAL`
    `static int` | `NONCAUSAL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `OregonDSPFilter(org.w3c.dom.Element config)`
    `OregonDSPFilter(org.w3c.dom.Element config, com.oregondsp.signalProcessing.filter.iir.PassbandType passband, edu.iris.Fissures.model.QuantityImpl lowFreqCorner, edu.iris.Fissures.model.QuantityImpl highFreqCorner)` for use in Decimate where we know passband is lowpass and corner freq is new nyquist but want to configure other settings.
    `OregonDSPFilter(java.lang.String filterName, com.oregondsp.signalProcessing.filter.iir.PassbandType passband, double epsilon, edu.iris.Fissures.model.QuantityImpl lowFreqCorner, edu.iris.Fissures.model.QuantityImpl highFreqCorner, int numPoles, int filterType)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `WaveformResult` | `accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event, edu.iris.Fissures.network.ChannelImpl channel, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original, edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available, edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms, CookieJar cookieJar)` Processes localSeismograms, possibly modifying them.
    `WaveformResult` | `apply(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms)`
    `double` | `getEpsilon()`
    `java.lang.String` | `getFilterName()`
    `int` | `getFilterType()`
    `edu.iris.Fissures.model.QuantityImpl` | `getHighFreqCorner()`
    `edu.iris.Fissures.model.QuantityImpl` | `getLowFreqCorner()`
    `int` | `getNumPoles()`
    `com.oregondsp.signalProcessing.filter.iir.PassbandType` | `getPassband()`
    `boolean` | `isThreadSafe()`
    `protected void` | `setHighFreqCorner(edu.iris.Fissures.model.QuantityImpl highFreqCorner)`
    `protected void` | `setLowFreqCorner(edu.iris.Fissures.model.QuantityImpl lowFreqCorner)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CAUSAL

          public static final int CAUSAL

      See Also:
        Constant Field Values

    - #### NONCAUSAL

          public static final int NONCAUSAL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### OregonDSPFilter

          public OregonDSPFilter(java.lang.String filterName,
                                 com.oregondsp.signalProcessing.filter.iir.PassbandType passband,
                                 double epsilon,
                                 edu.iris.Fissures.model.QuantityImpl lowFreqCorner,
                                 edu.iris.Fissures.model.QuantityImpl highFreqCorner,
                                 int numPoles,
                                 int filterType)

    - #### OregonDSPFilter

          public OregonDSPFilter(org.w3c.dom.Element config)
                          throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### OregonDSPFilter

          public OregonDSPFilter(org.w3c.dom.Element config,
                                 com.oregondsp.signalProcessing.filter.iir.PassbandType passband,
                                 edu.iris.Fissures.model.QuantityImpl lowFreqCorner,
                                 edu.iris.Fissures.model.QuantityImpl highFreqCorner)
                          throws ConfigurationException

      for use in Decimate where we know passband is lowpass and corner freq is new nyquist but want to configure other settings.
      Parameters:
        `config` -
        `passband` -
        `lowFreqCorner` -
        `highFreqCorner` -
      Throws:
        `ConfigurationException`

  - ### Method Detail

    - #### isThreadSafe

          public boolean isThreadSafe()

    - #### accept

          public WaveformResult accept(edu.sc.seis.fissuresUtil.cache.CacheEvent event,
                                       edu.iris.Fissures.network.ChannelImpl channel,
                                       edu.iris.Fissures.IfSeismogramDC.RequestFilter[] original,
                                       edu.iris.Fissures.IfSeismogramDC.RequestFilter[] available,
                                       edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms,
                                       CookieJar cookieJar)
                                throws java.lang.Exception

      Description copied from interface: `WaveformProcess`
      Processes localSeismograms, possibly modifying them.
      Specified by:
        `accept` in interface `WaveformProcess`
      Throws:
        `java.lang.Exception`

    - #### apply

          public WaveformResult apply(edu.iris.Fissures.seismogramDC.LocalSeismogramImpl[] seismograms)
                               throws edu.iris.Fissures.FissuresException

      Throws:
        `edu.iris.Fissures.FissuresException`

    - #### getFilterName

          public java.lang.String getFilterName()

    - #### getPassband

          public com.oregondsp.signalProcessing.filter.iir.PassbandType getPassband()

    - #### getEpsilon

          public double getEpsilon()

    - #### getLowFreqCorner

          public edu.iris.Fissures.model.QuantityImpl getLowFreqCorner()

    - #### setLowFreqCorner

          protected void setLowFreqCorner(edu.iris.Fissures.model.QuantityImpl lowFreqCorner)

    - #### getHighFreqCorner

          public edu.iris.Fissures.model.QuantityImpl getHighFreqCorner()

    - #### setHighFreqCorner

          protected void setHighFreqCorner(edu.iris.Fissures.model.QuantityImpl highFreqCorner)

    - #### getNumPoles

          public int getNumPoles()

    - #### getFilterType

          public int getFilterType()