Exemple #1
0
        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();
                }
            }
        }
Exemple #2
0
        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();
                }
            }
        }
 public CamFileReader()
 {
     this.dataAccess = new CanberraDataAccessLib.DataAccess();
 }