// using AsbCloudDb.Model; // using System.Linq; // // namespace AsbCloudInfrastructure.Services.DetectOperations.Detectors // { // // public class DetectorRotor : DetectorAbstract // { // public DetectorRotor() // : base(WellOperationCategory.IdRotor) { } // // protected override bool DetectBegin(DetectableTelemetry[] telemetry, int position, DetectedOperation? previousOperation) // { // var point0 = telemetry[position]; // var delta = point0.WellDepth - point0.BitDepth; // if (delta > 0.03d) // return false; // // if (point0.Pressure < 25) // return false; // // if (point0.RotorSpeed < 5) // return false; // // var point1 = telemetry[position + 1]; // if (point1.WellDepth - point0.WellDepth <= 0.003) // return false; // // return true; // } // // protected override int DetectEnd(DetectableTelemetry[] telemetry, int position, DetectedOperation? previousOperation) // { // var point0 = telemetry[position]; // var delta = point0.WellDepth - point0.BitDepth; // if (delta > 0.03d) // return IdReasonOfEnd_DeltaDepthIsHi; // // if (point0.Pressure < 25) // return IdReasonOfEnd_PressureIsLo; // // return IdReasonOfEnd_NotDetected; // } // // protected override bool IsValid(DetectableTelemetry[] telemetry, int begin, int end) // => IsValidByWellDepthIncreasing(telemetry, begin, end); // // protected override double CalcValue(DetectableTelemetry[] telemetry, int begin, int end) // => CalcRop(telemetry, begin, end); // } // // // } //