Files
DP44/Common/DTS.Common.DAS.Concepts/.svn/pristine/61/612810927ebe73642e54553cf3a2f93503a0df8d.svn-base

66 lines
1.7 KiB
Plaintext
Raw Normal View History

2026-04-17 14:55:32 -04:00
/*
* DTS.Channel.IDecimatable
*
* Copyright © 2009
* Diversified Technical Systems, Inc.
* All Rights Reserved
*/
namespace DTS.Common.DAS.Concepts.DAS.Channel
{
/// <summary>
/// Definition of what it means for a DAS channel to be "decimatable".
/// </summary>
///
/// <typeparam name="T">
/// The type of data handled by this DAS channel.
/// </typeparam>
///
public interface IDecimatable<out T>
{
/// <summary>
/// The number of points to be squeezed into a single index point.
/// </summary>
uint PointsPerPoint
{
get;
set;
}
/// <summary>
/// Get/set the decimation method to be applied.
/// </summary>
DecimationMethod DecimationType
{
get;
set;
}
/// <summary>
/// Generate a decimated array using the current <see cref="DTS.Common.DAS.Concepts.DAS.Channel.DecimationMethod"/>.
/// </summary>
///
/// <returns>
/// A decimated array of type "T".
/// </returns>
///
T[] ToDecimatedArray();
/// <summary>
/// Get the value at the specified post-decimation index.
/// </summary>
/// <param name="i"></param>
/// <returns></returns>
///
/// <remarks>
/// Note that implementing this interface implies that the indexing operator should return values from
/// the set decimated according to the PointsPerPoint and Method properties.
/// </remarks>
///
T this[long i]
{
get;
}
}
}