/*
* DTS.Slice.Control.DAS.Channel.IFilter.cs
*
* Copyright © 2009
* Diversified Technical Systems, Inc.
* All Rights Reserved
*/
using System;
using DTS.Common.Utilities;
namespace DTS.Slice.Control.DAS.Channel
{
///
/// Methodical definition of a slice control event module channel filter.
///
public interface IFilter
{
///
/// A descriptive designation for the filter.
///
string Name
{
get;
}
///
/// value indicating whether or not this filter is
/// a cardinal CFC value.
///
bool IsCfc
{
get;
}
///
/// Get a designation for this filter.
///
ChannelFilter Type
{
get;
}
///
/// Get the cutoff frequency for this filter.
///
double CutoffFrequencyHz
{
get;
}
///
/// Apply the filter to the specified input.
///
///
///
/// The input to the filter.
///
///
///
/// The to be
/// filtered from the channel.
///
///
/// when true will adjust data one sample to the right to preserve existing TDC filtering behavior
///
///
/// The filtering of the input.
///
///
double[] Apply(
Event.Module.Channel input,
Event.Module.Channel.DataDisplayUnits displayUnits,
bool bUseLegacyTDCSofwareFilterAdjustment);
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.
///
///
string ToBaseString();
}
}