public bool SwitchDetector(DataModelLaserInnolas.InnolasChannelSwitch channelNumber, string calibrationFilePath)
 {
     try
     {
         _laserCalibrationFile = new LaserCalibrationTable();
         string errorMessage;
         if (!_laserCalibrationFile.LoadFile(calibrationFilePath, out errorMessage))
         {
             /**/ //  HardwareMonitorReport((ulong)DeviceErrorCode.CalibrationFileError, new string[] { errorMessage });
             GUI_Communicator.sendStatus("Laser", "HardwareMonitor", errorMessage);
         }
         else
         {
             if (_previousUndividedTriggerRate != 0)
             {
                 if (_previousUndividedTriggerRate != _laserCalibrationFile.LaserUndividedTriggerRate)
                 {
                     /**/ //       MSOTService.IMSOTLog.HandleError(EnumLogType.Warning, DisplayName,
                     /**/ //           "Laser Calibration file defines a different undivided trigger rate than the previous file, new: " + _laserCalibrationFile.LaserUndividedTriggerRate +
                     /**/ //    " old: "+_previousUndividedTriggerRate);
                     GUI_Communicator.sendError("Laser", "ErrorDisplay", "Laser Calibration file defines a different undivided trigger rate than the previous file, new: " + _laserCalibrationFile.LaserUndividedTriggerRate + " old: " + _previousUndividedTriggerRate);
                 }
             }
             _previousUndividedTriggerRate = _laserCalibrationFile.LaserUndividedTriggerRate;
             /**/ //     MSOTService.IMSOTLog.HandleError(EnumLogType.Info, DisplayName, "Laser Calibration file info: " + _laserCalibrationFile.Description);
             GUI_Communicator.sendStatus("Laser", "ErrorDisplay", "Laser Calibration file info: " + _laserCalibrationFile.Description);
             string laserFileSummary;
             AvailableTriggerRates = new ObservableCollection <double>(_laserCalibrationFile.GetTriggerRates(out laserFileSummary));
             switchChannel(channelNumber);
             /**/ //  MSOTService.IMSOTLog.HandleError(EnumLogType.Info, DisplayName, laserFileSummary);
             GUI_Communicator.sendStatus("Laser", "ErrorDisplay", laserFileSummary);
             return(true);
         }