/*
* DTS.Slice.Control.Event.Module.Channel.cs
*
* Copyright © 2009
* Diversified Technical Systems, Inc.
* All Rights Reserved
*/
using DTS.Common.Utilities;
namespace DTS.Common.SerializationPlus
{
///
/// A filter for DTS.Slice.Control.Event.Module.Channels.
///
public abstract class Filter
: Exceptional,
IFilter
{
///
/// A descriptive designation for the filter.
///
public abstract string Name
{
get;
}
///
/// Get the value indicating whether or not this filter
/// corresponds to a CFC value.
///
public abstract bool IsCfc
{
get;
}
///
/// Get a designation for this filter.
///
public abstract ChannelFilter Type
{
get;
}
public abstract char IsoDescription { get; }
///
/// Get the cutoff frequency for this filter.
///
public abstract double CutoffFrequencyHz
{
get;
}
///
/// Apply the filter to the specified input.
///
///
///
/// The input to the filter.
///
///
///
/// The to be
/// filtered from the channel.
///
///
/// controls whether filtered data is adjusted by one sample to match TDC behavior
/// 8747
///
///
/// The filtering of the input.
///
///
public abstract double[] Apply(
DTS.Slice.Control.Event.Module.Channel input,
Slice.Control.Event.Module.Channel.DataDisplayUnits displayUnits,
bool bUseLegacyTDCSoftwareFilterAdjustment);
public abstract double[] Apply(
double[] data,
double sampleRate,
bool bUseLegacyTDCSoftwareFilterAdjustment);
///
/// the ToString is already overloaded, but we sometimes need the base name, not the decorated name that
/// is returned in ToString.
///
///
public abstract string ToBaseString();
}
}