--- source_files: - Common/DTS.Common.Serialization/Control/DAS/IFilterable.cs - Common/DTS.Common.Serialization/Control/DAS/IFilter.cs generated_at: "2026-04-17T16:08:03.377171+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "9a73128b86fcf306" --- # DAS ### 1. Purpose This module defines the core interfaces for filtering data within a Data Acquisition System (DAS) channel architecture. It establishes the contract for filterable channels (`IFilterable`) and the filters themselves (`IFilter`), enabling a strategy pattern where different filter implementations can be applied to channel data. It handles filter management, caching controls, and the application of filtering algorithms to raw or channel-based data. ### 2. Public Interface **`interface IFilterable`** * `bool UseFilterCaching { get; set; }` - Gets or sets a flag to enable or disable filter caching. * `List AvailableFilters { get; }` - Gets the list of `IFilter` objects available for this channel. * `IFilter CurrentFilter { get; set; }` - Gets or sets the currently active filter. * `double[] GetDataFilteredBy(IFilter filter, Event.Module.Channel.DataDisplayUnits displayUnits)` - Retrieves data filtered by the specified `filter` and converted to the specified `displayUnits`. **`interface IFilter`** * `string Name { get; }` - Returns the descriptive name of the filter. * `bool IsCfc { get; }` - Indicates whether the filter represents a cardinal CFC (Channel Filter Class) value.