Files
DP44/Common/DTS.Common.Serialization/FilteredData.cs

107 lines
3.3 KiB
C#
Raw Normal View History

2026-04-17 14:55:32 -04:00
/*
* FtssCsv.File.Writer.FilteredData.cs
*
* Copyright © 2009
* Diversified Technical Systems, Inc.
* All Rights Reserved
*/
using System;
using DTS.Common.Utilities;
using DTS.Common.Utilities.DotNetProgrammingConstructs;
namespace DTS.Serialization
{
///
/// <summary>
/// A <see cref="string"/> description/filtered <see cref="double"/> data set pair.
/// </summary>
///
public class FilteredData : Exceptional, IComparable<FilteredData>
{
/// <summary>
/// Initialize an instance of this class.
/// </summary>
///
/// <param name="filterDescription">
/// The <see cref="string"/> description of the filter that has been applied to the attached data vector.
/// </param>
///
/// <param name="filterFrequencyHz">
/// The <see cref="double"/> frequency of the filter that has been applied to the attached data vector.
/// </param>
///
/// <param name="data">
/// An array of filtered <see cref="double"/> data.
/// </param>
///
public FilteredData(string filterDescription, double filterFrequencyHz, double[] data, int absoluteDisplayOrder)
{
try
{
FilterDescription = filterDescription;
FilterFrequencyHz = filterFrequencyHz;
Data = data;
AbsoluteDisplayOrder = absoluteDisplayOrder;
}
catch (System.Exception ex)
{
throw new Exception("encountered problem constructing class " + GetType().FullName, ex);
}
}
public int CompareTo(FilteredData other)
{
return AbsoluteDisplayOrder.CompareTo(other.AbsoluteDisplayOrder);
}
/// <summary>
/// Get/set the filter description <see cref="string"/>.
/// </summary>
public string FilterDescription
{
get => _FilterDescription.Value;
set => _FilterDescription.Value = value;
}
private readonly Property<string> _FilterDescription
= new Property<string>(
typeof(FilteredData).FullName + ".FilterDescription",
null,
false
);
/// <summary>
/// Get set the <see cref="double"/> filter frequency.
/// </summary>
public double FilterFrequencyHz
{
get => _FilterFrequencyHz.Value;
set => _FilterFrequencyHz.Value = value;
}
private readonly Property<double> _FilterFrequencyHz
= new Property<double>(
typeof(FilteredData).FullName + ".FilterFrequencyHz",
0.0,
false
);
/// <summary>
/// Get/set the filtered data vector.
/// </summary>
public double[] Data
{
get => _Data.Value;
set => _Data.Value = value;
}
private readonly Property<double[]> _Data
= new Property<double[]>(
typeof(FilteredData).FullName + ".Data",
null,
false
);
public int AbsoluteDisplayOrder { get; } = -1;
}
}