26 lines
1.5 KiB
Markdown
26 lines
1.5 KiB
Markdown
|
|
---
|
||
|
|
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.
|