Files
DP44/docs/ai/Common/DTS.Common/Events/DTS.Viewer/Reports/PowerSpectralDensity.md
2026-04-17 14:55:32 -04:00

2.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportSettingsChangedEvent.cs
Common/DTS.Common/Events/DTS.Viewer/Reports/PowerSpectralDensity/PSDReportGRMSValuesUpdatedEvent.cs
2026-04-17T16:26:51.849481+00:00 zai-org/GLM-5-FP8 1 59c47482ba063f01

PowerSpectralDensity

Purpose

This module defines Prism event types for broadcasting Power Spectral Density (PSD) report-related changes within the DTS Viewer application. It enables loose coupling between components that produce PSD report updates (settings changes, GRMS value recalculations) and consumers that need to react to those updates, using the event aggregation pattern.

Public Interface

PSDReportSettingsChangedEvent (class, inherits PubSubEvent<PSDReportSettingsChangedEventArg>)

  • Event type for publishing/subscribing to PSD report settings changes.
  • Payload type: PSDReportSettingsChangedEventArg

PSDReportSettingsChangedEventArg (class)

  • IPSDReportSettingsModel Model { get; set; } — The updated PSD report settings model.
  • IBaseViewModel ParentVM { get; set; } — Reference to the parent view model originating the change.

PSDReportGRMSValuesUpdatedEvent (class, inherits PubSubEvent<PSDReportGRMSValuesUpdatedEventArg>)

  • Event type for publishing/subscribing to GRMS (Root Mean Square) value updates in PSD reports.
  • Payload type: PSDReportGRMSValuesUpdatedEventArg

PSDReportGRMSValuesUpdatedEventArg (class)

  • IChannelGRMSSummary[] Values { get; set; } — Array of channel GRMS summary values.
  • IBaseViewModel ParentVM { get; set; } — Reference to the parent view model associated with the update.

Invariants

  • Both event types inherit from PubSubEvent<T> from Prism, requiring the event aggregator pattern for publication/subscription.
  • The ParentVM property in both event args is intended to identify the source context of the event (nullability is not enforced at compile time).

Dependencies

  • Depends on: DTS.Common.Base (for IBaseViewModel), DTS.Common.Interface (for IPSDReportSettingsModel, IChannelGRMSSummary), Prism.Events (for PubSubEvent<T>).
  • Depended on by: Unclear from source alone—likely PSD report view models, view components, or services that subscribe to or publish these events.

Gotchas

  • The ParentVM property could be null if not set by the publisher; subscribers should handle this possibility.
  • The event args classes use mutable auto-properties; event payloads can be modified after publication if references are retained.