Exemplo n.º 1
0
 private void updateGUIForSlaveLaser(SlaveLaser laser, double[] rampData)
 {
     double[] laserScanData = laser.LatestScanData;
     if (laser.Fit != null)
     {
         double[] fitPoints = CavityScanFitHelper.CreatePointsFromFit(rampData, laser.Fit);
         ui.DisplaySlaveData(laser.ParentCavity.Name, laser.Name, rampData, laserScanData, fitPoints);
         if (laser.LockCount > 0)
         {
             ui.SetLaserVoltageTextBox(laser.ParentCavity.Name, laser.Name, laser.CurrentVoltage);
             bool laserInNormalOperatingRange = laser.CurrentVoltage <laser.UpperVoltageLimit && laser.CurrentVoltage> laser.LowerVoltageLimit;
             bool laserIsLocked = laser.lState == Laser.LaserState.LOCKED;
             ui.SetLaserOperatingLED(laser.ParentCavity.Name, laser.Name, laserIsLocked, laserInNormalOperatingRange);
             List <double> errorList   = laser.OldFrequencyErrors;
             double        standardDev = Math.Sqrt(errorList.Average(x => x * x));
             ui.SetLaserSDTextBox(laser.ParentCavity.Name, laser.Name, standardDev);
             ui.AppendToErrorGraph(laser.ParentCavity.Name, laser.Name, laser.LockCount, laser.FrequencyError);
         }
     }
     else
     {
         ui.DisplaySlaveData(laser.ParentCavity.Name, laser.Name, rampData, laserScanData);
     }
 }