using DTS.Common.Base;
using DTS.Common.Interface.Sensors;
using DTS.Common.Interface.Sensors.SoftwareFilters;
// ReSharper disable CheckNamespace
namespace DTS.Common.Interface
{
public interface ITestModificationModel : IBaseModel
{
ITestModificationViewModel Parent { get; set; }
///
/// channel modifications are based on
///
ITestChannel SelectedChannel { get; set; }
///
/// whether the Description field has been modified
///
bool IsModifiedDescription { get; }
///
/// the ChannelDescriptionString field of the selected channel
///
string Description { get; set; }
///
/// Whether the EuMultiplier has been modified
///
bool IsModifiedEuMultiplier { get; }
///
/// the Eu multiplier of the selected channel
///
double EuMultiplier { get; set; }
///
/// the Eu offset of the selected channel
///
double EuOffset { get; set; }
///
/// indicates that the eu offset has been modified
///
bool IsModifiedEuOffset { get; }
///
/// indicates that T0 has been modified
///
bool IsModifiedT0 { get; }
///
/// the current offset in ms of T0
///
double T0 { get; set; }
///
/// indicates whether any values have changed from default for the selected channel
///
bool IsModified { get; }
///
/// indicates whether T1 or T2 (line fit start/end) has been modified
///
bool IsModifiedLineFit { get; set; }
///
/// time in ms for start of line fit
///
double T1 { get; set; }
///
/// time in ms for end of line fit
///
double T2 { get; set; }
///
/// indicates whether sensitivity has been modified
///
bool IsModifiedSensitivity { get; }
///
/// sensitivity of selected channel
///
double Sensitivity { get; set; }
///
/// indicates whether filter has been modified
///
bool IsModifiedFilter { get; }
///
/// the software filter for the selected class
///
//FB 13120 Use IFilterClass instead of CFCFilter
IFilterClass SelectedFilter { get; set; }
///
/// T0 adjustment mode
///
T0Mode T0Mode { get; set; }
///
/// indicates whether DataFlag has been modified or not
///
bool IsModifiedDataFlag { get; }
///
/// the dataflag for the selected channel
///
DataFlag SelectedDataFlag { get; set; }
///
/// returns true if T0 is valid (within the dataset),
/// false otherwise
///
///
bool ValidateT0();
///
/// Sensor in database corresponding to channel
///
ISensorDbRecord Sensor { get; set; }
///
/// Latest calibration in database corresponding to channel
///
ISensorCalDbRecord Cal { get; set; }
///
/// Whether to show the sensor calibration or not
///
bool ShowSensorCal { get; }
///
/// Sensitivity corresponding to calibration for channel
///
double CalSensitivity { get; set; }
///
/// whether the calibration is non linear or not
///
bool NonLinear { get; }
///
/// whether sensor is proportional to excitation or not
///
bool ProportionalToExcitation { get; }
}
}