Пример #1
0
 public OutputFactors(CSeriesLinac linac, IElectrometer el, I1DScanner scan1D)
 {
     _linac  = linac;
     _el     = el;
     _scan1D = scan1D;
     Logger  = new Logger();
 }
Пример #2
0
 public MULinearity(CSeriesLinac linac, IElectrometer el, I1DScanner scan1D)
 {
     _linac  = linac;
     _el     = el;
     _scan1D = scan1D;
     Logger  = new Logger();
 }
Пример #3
0
        public void Run(CSeriesLinac linac, IElectrometer el, I1DScanner scan1D, Logger logger = null)
        {
            ServiceModeSession.Instance.Logger = logger;

            foreach (var job in RowJobs)
            {
                var measurementsLeft = job.Item1.NumberOfMeasurementsDesired - job.Item1.Measurements.Length;
                if (measurementsLeft > 0)
                {
                    linac.SetMachineState(job.Item1.MachineStateRun);
                }
                if (scan1D != null)
                {
                    scan1D.GoToDepth(job.Item1.DepthOfMeasurentMM).Wait();
                }
                if (el != null && measurementsLeft > 0)
                {
                    for (int i = 0; i < measurementsLeft; i++)
                    {
                        el.StartMeasurement();
                        linac.BeamOn();
                        el.StopMeasurement();
                        var val = el.GetValue();
                        job.Item1.AddMeasurement(val.Measurement);
                    }
                    SaveAction();
                }
            }
        }
Пример #4
0
        public static MULinearity GetDefault(CSeriesLinac linac, IElectrometer el, I1DScanner scan1D)
        {
            var muTest = new MULinearity(linac, el, scan1D);

            muTest.Logger.Logged  += (log => Console.WriteLine(log));
            muTest.ScanningDepthMM = 50;
            muTest.SetEnergiesToTest(Energy._6X, Energy._15X);
            muTest.SetMULevels(10, 20, 50, 100, 200, 500);
            return(muTest);
        }
Пример #5
0
        public static OutputFactors GetDefault(CSeriesLinac linac, IElectrometer el, I1DScanner scan1D)
        {
            var of = new OutputFactors(linac, el, scan1D);

            of.Logger.Logged += (log => Console.WriteLine(log));
            of.AddEnergyDepth(Energy._6X, 15);
            of.AddEnergyDepth(Energy._15X, 27);
            of.AddEnergyDepth(Energy._6E, 13);
            of.AddEnergyDepth(Energy._9E, 21);
            of.AddEnergyDepth(Energy._12E, 29);
            of.AddEnergyDepth(Energy._15E, 33);
            of.AddEnergyDepth(Energy._18E, 22);

            of.SetPhotonFieldSizes(4, 10, 15, 20, 25, 30, 40);
            of.SetElectronCones("A6", "A10", "A15", "A20", "A25");
            return(of);
        }
Пример #6
0
 public DeterminePion(CSeriesLinac linac, I1DScanner scanner, IElectrometer el)
 {
 }