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