private void AddEfficiencyCalibrationFileByEnergy() { CanberraDataAccessLib.DataAccess engFile = null; try { string effFileName = Path.Combine(DetSet.EffCalFolder, $"{Name}", $"{Name}-energy.CAL"); if (!File.Exists(effFileName)) { Report.Notify(new DetectorMessage(Codes.ERR_DET_EFF_ENG_FILE_NF) { DetailedText = $"File '{effFileName}' not found" }); return; } engFile = new CanberraDataAccessLib.DataAccess(); engFile.Open(effFileName); engFile.CopyBlock(_device, CanberraDataAccessLib.ClassCodes.CAM_CLS_SHAPECALRES); engFile.CopyBlock(_device, CanberraDataAccessLib.ClassCodes.CAM_CLS_CALRESULTS); _device.Save("", true); Report.Notify(new DetectorMessage(Codes.INFO_DET_EFF_ENG_FILE_ADD)); } catch (Exception ex) { Report.Notify(new DetectorMessage(Codes.ERR_DET_EFF_ENG_FILE_UNREG) { DetailedText = ex.ToString() }); } finally { if (engFile != null && engFile.IsOpen) { engFile.Close(); } } }
private void AddEfficiencyCalibrationFileByHeight(float height) { CanberraDataAccessLib.DataAccess effFile = null; try { var tmpl = "2,5"; if (height != 2.5) { tmpl = height.ToString(); } string effFileName = Path.Combine(DetSet.EffCalFolder, Name, $"{Name}-eff-{tmpl}.CAL"); if (!File.Exists(effFileName)) { Report.Notify(new DetectorMessage(Codes.ERR_DET_EFF_H_FILE_NF)); return; } effFile = new CanberraDataAccessLib.DataAccess(); effFile.Open(effFileName); effFile.CopyBlock(_device, CanberraDataAccessLib.ClassCodes.CAM_CLS_GEOM); _device.Save("", true); Report.Notify(new DetectorMessage(Codes.INFO_DET_EFF_H_FILE_ADD)); } catch (Exception ex) { Report.Notify(new DetectorMessage(Codes.ERR_DET_EFF_H_FILE_UNREG) { DetailedText = ex.ToString() }); } finally { if (effFile != null && effFile.IsOpen) { effFile.Close(); } } }