--- source_files: - Common/DTS.Common/Classes/DTS.Viewer/Reports/ChannelGRMSSummary.cs generated_at: "2026-04-17T16:40:09.263539+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "261ab4516c9b0a7b" --- # Documentation: ChannelGRMSSummary ## 1. Purpose `ChannelGRMSSummary` is a data model class representing a summary report entry for channel GRMS (likely "G RMS" - Root Mean Square acceleration measured in G-force) data within the DTS Viewer reporting subsystem. It serves as a DTO (Data Transfer Object) that aggregates channel identification, sample rate, and calculated GRMS value, implementing `IChannelGRMSSummary` to conform to a broader system contract. The class also provides property change notification infrastructure, suggesting it may be used in data-binding scenarios (e.g., UI grids or observables). --- ## 2. Public Interface ### Class: `ChannelGRMSSummary` **Namespace:** `DTS.Common.Classes.Viewer.Reports` **Implements:** `IChannelGRMSSummary` #### Properties | Name | Type | Access | Description | |------|------|--------|-------------| | `ChannelName` | `string` | get/set | The name identifier for the channel being summarized. | | `SampleRate` | `int` | get/set | The sample rate associated with the channel (units unspecified in source). | | `GRMS` | `double` | get/set | The GRMS (G Root Mean Square) value calculated for the channel. | #### Events | Name | Type | Description | |------|------|-------------| | `PropertyChanged` | `PropertyChangedEventHandler` | Event raised when a property value changes. Standard `INotifyPropertyChanged` pattern event. | #### Methods | Signature | Description | |-----------|-------------| | `void OnPropertyChanged(string propertyName)` | Manually raises the `PropertyChanged` event with the specified property name. Invokes the event handler if subscribers exist. | --- ## 3. Invariants - **Interface Contract:** The class must implement all members defined by `IChannelGRMSSummary` (exact members of the interface are not visible in this source file). - **No Automatic Notification:** The properties (`ChannelName`, `SampleRate`, `GRMS`) are auto-implemented properties with no setters that call `OnPropertyChanged`. Property change notification must be triggered manually by external callers. - **Null-Safe Event Invocation:** `OnPropertyChanged` safely handles cases where no subscribers are attached via null-conditional operator (`?.`). --- ## 4. Dependencies ### This module depends on: - `DTS.Common.Interface` — Provides the `IChannelGRMSSummary` interface contract. - `System.ComponentModel` — Provides `PropertyChangedEventHandler` and `PropertyChangedEventArgs` for property change notification. ### What depends on this module: - **Unknown from source alone.** Consumers would be any code requiring `IChannelGRMSSummary` or `ChannelGRMSSum