/*
* DTS.Channel.IDecimatable
*
* Copyright © 2009
* Diversified Technical Systems, Inc.
* All Rights Reserved
*/
namespace DTS.DAS.Concepts.DAS.Channel
{
///
/// Definition of what it means for a DAS channel to be "decimatable".
///
///
///
/// The type of data handled by this DAS channel.
///
///
public interface IDecimatable
{
///
/// The number of points to be squeezed into a single index point.
///
uint PointsPerPoint
{
get;
set;
}
///
/// Get/set the decimation method to be applied.
///
DecimationMethod DecimationType
{
get;
set;
}
///
/// Generate a decimated array using the current .
///
///
///
/// A decimated array of type "T".
///
///
T[ ] ToDecimatedArray( );
///
/// Get the value at the specified post-decimation index.
///
///
///
///
///
/// Note that implementing this interface implies that the indexing operator should return values from
/// the set decimated according to the PointsPerPoint and Method properties.
///
///
T this[ long i ]
{
get;
}
}
///
/// Methods for determining the value of the representative point for decimated sets.
///
public enum DecimationMethod
{
///
/// Use that value of the PointsPerPoint-th point as the representative value.
///
Point,
///
/// Use the average of the PointsPerPoint values as the representative value.
///
Average,
///
/// Use the peak magnitude value of the PointsPerPoint values as the representative value.
///
PeakMagnitude,
}
}