This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,156 @@
---
source_files:
- Common/DTS.Common.SerializationPlus/Control/Event/Module/Channel/ReviewableAttribute.NotApplicableException.cs
- Common/DTS.Common.SerializationPlus/Control/Event/Module/Channel/DataValues.cs
- Common/DTS.Common.SerializationPlus/Control/Event/Module/Channel/CalculatedChannel.cs
generated_at: "2026-04-17T15:38:30.345685+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7405548f6ed6f3f6"
---
# Documentation: DTS.Slice.Control.Event.Module.Channel
## 1. Purpose
This module provides channel-related types within the `DTS.Slice.Control` namespace hierarchy. It defines exception types for attribute validation, data storage mechanisms for channel values (with optional memory-mapped file support), and an abstract class hierarchy for calculated channels that derive data from operations such as FFT, integration, differentiation, and vector mathematics. The module supports engineering unit-aware channels with various calculation types used in data acquisition and analysis workflows.
---
## 2. Public Interface
### `Event.Module.Channel.ReviewableAttribute.NotApplicableException`
**Namespace:** `DTS.Slice.Control`
A nested exception class representing attempts to use a channel attribute that is not applicable to the associated channel. Inherits from `ApplicationException`.
| Constructor | Signature | Description |
|-------------|-----------|-------------|
| Default | `public NotApplicableException()` | Initializes an instance with no message. |
| With Message | `public NotApplicableException(string msg)` | Initializes with a custom message string. |
| With Message and Inner | `public NotApplicableException(string msg, System.Exception innerEx)` | Initializes with a message and inner exception. |
---
### `Event.Module.Channel.DataValues`
**Namespace:** `DTS.Slice.Control`
Represents a channel's data storage. Inherits from `Exceptional`.
| Constructor | Signature | Description |
|-------------|-----------|-------------|
| Default | `public DataValues()` | Initializes with `useMemoryMappedFile = true`. |
| Parameterized | `public DataValues(bool useMemoryMappedFile)` | Initializes with explicit memory-mapped file setting. |
| Property | Type | Access | Description |
|----------|------|--------|-------------|
| `UseMemoryMappedFile` | `bool` | get/set | Switch to use memory-mapped files instead of in-memory lists (for large data sets). |
---
### `Event.Module.Channel.CalculatedChannel` (Abstract)
**Namespace:** `DTS.Slice.Control`
Abstract base class for calculated channels. Inherits from `Channel` and implements `Common.DAS.Concepts.DAS.Channel.IEngineeringUnitAware`.
**Nested Enums:**
| Enum | Values |
|------|--------|
| `Operation` | `Integral`, `Derivative`, `HeadInjuryCriteria`, `FFT`, `ImportedCSV`, `Resultant`, `TSR`, `Scale`, `Offset`, `Sine`, `Cosine` |
| `XUnits` | `msec`, `sec`, `Hz`, `samples` |
**Constructor:**
```csharp
public CalculatedChannel(
string name,
XUnits xAxis,
string yAxis,
double[] xValues,
double[] yValues,
Operation calcType,
int number,
Module parentModule
)
```
**Properties:**
| Property | Type | Access | Description |
|----------|------|--------|-------------|
| `CalculationType` | `Operation` | get | Returns the operation type for this channel. |
| `X` | `double[]` | get | Returns X-axis values as array. |
| `Y` | `double[]` | get | Returns Y-axis values as array. |
| `XAxis` | `XUnits` | get | Returns the X-axis unit type. |
| `XUnitsString` | `string` | get | Returns string representation ("Hz", "ms", "samples", "s", or "N/A"). |
| `EngineeringUnits` | `string` | get/set | Gets or sets the Y-axis engineering units string. |
| `SupportsADC` | `bool` | get | Always returns `false`. |
| `SupportsEU` | `bool` | get | Always returns `true`. |
| `SupportsmV` | `bool` | get | Always returns `false`. |
| `ActualMaxRangeEu` | `double` | get | Returns `_y.Max()`. |
| `ActualMinRangeEu` | `double` | get | Returns `_y.Min()`. |
| `DataHalfRangeValueEu` | `double` | get | Returns midpoint of min/max Y values. |
| `DataMaxEu` | `double` | get | Returns `_y.Max()`. |
| `DataMinEu` | `double` | get | Returns `_y.Min()`. |
| `DataRangeEu` | `double` | get | Returns max of absolute min/max Y values. |
| `DataZeroLevelAdc` | `short` | get | Always returns `0`. |
| `IsConfigured` | `bool` | get/set | Getter returns `true`; setter throws `NotSupportedException`. |
**Methods:**
| Method | Return Type | Behavior |
|--------|-------------|----------|
| `ToString()` | `string` | Returns `ChannelDescriptionString` or "N/A". |
| `GetUnfilteredDataEu()` | `List<double>` | Returns a new `List<double>` copy of Y values. |
| `FromDtsSerializationTestModuleChannel(Serialization.Test.Module.Channel)` | `void` | Throws `NotSupportedException`. |
| `SetPropertyValuesFrom(DASLib.Service.DASChannel)` | `void` | Throws `NotSupportedException`. |
| `SetPropertyValuesFrom(IDiagnosticResult)` | `void` | Throws `NotSupportedException`. |
| `ToDtsSerializationTestModuleChannel(Serialization.Test.Module)` | `Serialization.Test.Module.Channel` | Throws `NotSupportedException`. |
| `ActualMaxRangeMv` | `double` | Throws `NotSupportedException`. |
| `ActualMinRangeMv` | `double` | Throws `NotImplementedException`. |
| `GetUnfilteredDataMV()` | `List<double>` | Throws `NotImplementedException`. |
| `SensorCapacityEU` | `double` | Throws `NotImplementedException`. |
| `DesiredRangeEU` | `double` | Throws `NotImplementedException`. |
---
### Concrete Calculated Channel Classes
All inherit from `CalculatedChannel` and expose only constructors matching the base signature:
| Class | Additional Members |
|-------|-------------------|
| `IntegralCalculatedChannel` | None beyond base constructor. |
| `DerivativeCalculatedChannel` | None beyond base constructor. |
| `ScaleCalculatedChannel` | None beyond base constructor. |
| `OffsetCalculatedChannel` | None beyond base constructor. |
| `ResultantCalculatedChannel` | None beyond base constructor. |
| `AdditiveVectorCalculatedChannel` | None beyond base constructor. |
| `SineCalculatedChannel` | None beyond base constructor. |
| `CosineCalculatedChannel` | None beyond base constructor. |
### `FFTCalculatedChannel`
Extends `CalculatedChannel` with FFT-specific data.
**Constructor:**
```csharp
public FFTCalculatedChannel(
string name,
XUnits xAxis,
string yAxis,
double[] xValues,
double[] yValues,
Operation calcType,
int number,
Module parentModule,
double peakFrequency
)
```
| Property | Type | Access | Description |
|----------|------|--------|-------------|
| `PeakFrequency` | `double