Files
DP44/docs/ai/Common/DTS.Common.Serialization/Control/DAS.md

26 lines
1.5 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
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<IFilter> 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.