예제 #1
0
 public void Init(string id, AssaySelector.MeasurementOption mo = AssaySelector.MeasurementOption.verification)
 {
     MeasDataList  = new MeasPointList();
     CalibDataList = new CalibList();
     DetectorId    = id;
     System.Windows.Input.Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;
     try
     {
         InitSort();
         mopt  = mo;
         mlist = N.App.DB.MeasurementsFor(DetectorId, mopt, "");
         bGood = PrepList(DetectorId);
     }
     finally
     {
         System.Windows.Input.Mouse.OverrideCursor = null;
     }
     if (AnalysisMethod == AnalysisMethod.Active)
     {
         listView1.Columns[2].Text = "Decl U235 Mass";
     }
     if (AnalysisMethod == AnalysisMethod.KnownA)
     {
         listView1.Columns[3].Text = "Mult Corr Dbls Rt";
     }
 }
예제 #2
0
        void PlotVerificationPoints(MeasPointList MeasPoints)
        {
            Series s = chart1.Series["Verif"];

            s.MarkerStyle = MarkerStyle.Square;
            // Set error bar center marker style
            s.MarkerStyle = MarkerStyle.None;
            s.MarkerColor = System.Drawing.Color.Fuchsia;
            chart1.ChartAreas[0].AxisX.Minimum = MeasPoints.LowerMass * 0.9;
            chart1.ChartAreas[0].AxisX.Maximum = MeasPoints.UpperMass * 1.1;
            int             imax  = 0;
            ArrowAnnotation maxpt = new ArrowAnnotation();

            maxpt.Name          = "max";
            maxpt.Height        = -4;
            maxpt.Width         = 0;
            maxpt.AnchorOffsetY = -2.5;
            maxpt.ResizeToContent();
            foreach (MeasPointData p in MeasPoints)
            {
                int i = s.Points.AddXY(p.Mass, p.Doubles);
                if (p.Mass == MeasPoints.UpperMass)
                {
                    imax          = i;
                    maxpt.ToolTip = "Max " + p.ToString();
                }
                s.Points[i].ToolTip = p.ToString();
            }
            chart1.Annotations.Add(maxpt);
            maxpt.AnchorDataPoint = s.Points[imax];
        }
예제 #3
0
 public PlotAssayChart(MeasPointList MeasPoints, CalibList CalibPoints)
 {
     InitializeComponent();
     chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
     chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
     PlotVerificationPoints(MeasPoints);
     PlotCalibCurveLine(CalibPoints);
 }
예제 #4
0
 void PrepareMeasDataList(MeasPointList list)
 {
     if (list.Count < 1)
     {
         return;
     }
     MeasDataList.am = AnalysisMethod;
     MeasDataList    = list;
     MeasDataList.CalcLowerUpper();          // compute upper and lower mass from the data points
 }
예제 #5
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            MeasPointList list = new MeasPointList();
            int           num  = 0;

            foreach (ListViewItem lvi in listView1.Items)
            {
                if (lvi.Selected)
                {
                    list.Add((MeasPointData)lvi.Tag);
                    lvi.Selected = false;
                    ((MeasPointData)lvi.Tag).number = ++num;
                }
            }
            PrepareMeasDataList(list);
            PrepareCalibList();
            Close();
        }