common/Metrology/Measurements/IMeasurementRecord.cs
2026-04-23 17:50:07 +02:00

54 lines
1.3 KiB
C#

using System;
using Xylem.Common.CommonCore.Consts;
namespace Xylem.Common.Metrology.Measurements
{
/// <inheritdoc />
/// <summary>
/// interface for all incoming streaming protocol
/// to simplify measurements
/// </summary>
public interface IMeasurementRecord : ICloneable
{
/// <summary>
/// Get volume of the record
/// </summary>
Double GetVolumeCm();
Double GetNegativeReserveVolumeCm();
Double GetForwardVolumeCm();
/// <summary>
/// Get time stamp of the record from meter
/// </summary>
Double GetTimeS();
/// <summary>
/// Get Data
/// </summary>
/// <returns></returns>
SyncMarkRecord GetDataSyncMark();
/// <summary>
/// Get the channel the record comes from
/// </summary>
/// <returns>returns 0 if the channel is unavailable for this type of record (e.g. protocol f) </returns>
Int32 GetChannel();
/// <summary>
/// Get overflow volume
/// </summary>
/// <returns></returns>
Double GetOverflowVolumeCm();
/// <summary>
/// get overflow time
/// </summary>
/// <returns></returns>
Double GetOverflowTimeS();
}
}