/* * 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 { /// /// /// A description/filtered data set pair. /// /// public class FilteredData : Exceptional, IComparable { /// /// Initialize an instance of this class. /// /// /// /// The description of the filter that has been applied to the attached data vector. /// /// /// /// The frequency of the filter that has been applied to the attached data vector. /// /// /// /// An array of filtered data. /// /// 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); } /// /// Get/set the filter description . /// public string FilterDescription { get => _FilterDescription.Value; set => _FilterDescription.Value = value; } private readonly Property _FilterDescription = new Property( typeof(FilteredData).FullName + ".FilterDescription", null, false ); /// /// Get set the filter frequency. /// public double FilterFrequencyHz { get => _FilterFrequencyHz.Value; set => _FilterFrequencyHz.Value = value; } private readonly Property _FilterFrequencyHz = new Property( typeof(FilteredData).FullName + ".FilterFrequencyHz", 0.0, false ); /// /// Get/set the filtered data vector. /// public double[] Data { get => _Data.Value; set => _Data.Value = value; } private readonly Property _Data = new Property( typeof(FilteredData).FullName + ".Data", null, false ); public int AbsoluteDisplayOrder { get; } = -1; } }