89 lines
2.5 KiB
Plaintext
89 lines
2.5 KiB
Plaintext
|
|
/*
|
||
|
|
* 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
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// Methodical definition of a slice control event module channel filter.
|
||
|
|
/// </summary>
|
||
|
|
public interface IFilter
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// A descriptive <see cref="string"/> designation for the filter.
|
||
|
|
/// </summary>
|
||
|
|
string Name
|
||
|
|
{
|
||
|
|
get;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// <see cref="Boolean"/> value indicating whether or not this filter is
|
||
|
|
/// a cardinal CFC value.
|
||
|
|
/// </summary>
|
||
|
|
bool IsCfc
|
||
|
|
{
|
||
|
|
get;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Get a <see cref="ChannelFilter"/> designation for this filter.
|
||
|
|
/// </summary>
|
||
|
|
ChannelFilter Type
|
||
|
|
{
|
||
|
|
get;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Get the <see cref="double"/> cutoff frequency for this filter.
|
||
|
|
/// </summary>
|
||
|
|
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="Event.Module.Channel.DataDisplayUnits"/> to be
|
||
|
|
/// filtered from the channel.
|
||
|
|
/// </param>
|
||
|
|
/// <param name="bUseLegacyTDCSofwareFilterAdjustment">
|
||
|
|
/// when true will adjust data one sample to the right to preserve existing TDC filtering behavior
|
||
|
|
/// </param>
|
||
|
|
/// <returns>
|
||
|
|
/// The filtering of the input.
|
||
|
|
/// </returns>
|
||
|
|
///
|
||
|
|
double[] Apply(
|
||
|
|
Event.Module.Channel input,
|
||
|
|
Event.Module.Channel.DataDisplayUnits displayUnits,
|
||
|
|
bool bUseLegacyTDCSofwareFilterAdjustment);
|
||
|
|
|
||
|
|
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>
|
||
|
|
string ToBaseString();
|
||
|
|
}
|
||
|
|
}
|