Exemplo n.º 1
0
        /// <summary>
        /// Save in the database the method results and copies of the current method parameters.
        /// The table entries are related back to the measurement.
        /// The method results are preserved in the results_\<method table name\> and \<method table name\>_m DB tables.
        /// </summary>
        /// <param name="m">The measurement to preserve</param>
        /// <param name="moskey">The option selector+multiplicity key for the method results map</param> 
        static void SaveMethodResultsForThisMeasurement(this Measurement m, MeasOptionSelector moskey)
        {
            // DB.Measurements ms = new DB.Measurements();
            long mid = m.MeasurementId.UniqueId;

            INCCMethodResults imrs;
            bool gotten = m.INCCAnalysisResults.TryGetINCCResults(moskey.MultiplicityParams, out imrs);
            if (gotten && imrs.Count > 0) // expected to be true for verification and calibration
            {
                //The distinct detector id and material type index the methods and the method results
                Dictionary<AnalysisMethod, INCCMethodResult> amimr = imrs[m.INCCAnalysisState.Methods.selector];
                // now get an enumerator over the map of method results
                Dictionary<AnalysisMethod, INCCMethodResult>.Enumerator ai = amimr.GetEnumerator();
                while (ai.MoveNext())
                {
                    INCCMethodResult imr = ai.Current.Value;
                    DB.ElementList els = imr.ToDBElementList(); // generates the Table property content too
                    DB.ParamsRelatedBackToMeasurement ar = new DB.ParamsRelatedBackToMeasurement(imr.Table);
                    long resid = ar.Create(mid, els);  // save the method results in the relevant results table
                    do
                    {
                        long mresid = ar.CreateMethod(resid, mid, imr.methodParams.ToDBElementList()); // save the initial method params (the copy rides on the results)
                        m.Logger.TraceEvent(NCCReporter.LogLevels.Verbose, 34104, string.Format("Method results {0} preserved ({1}, {2})", imr.Table, resid, mresid));
                    } while (imr.methodParams.Pump > 0);
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Save specific analysis results for Background, Initial Source, Normalization and Precision measurements.
 /// </summary>
 /// <param name="m">The measurement to preserve</param>
 /// <param name="res">The subclassed specific results instance</param> 
 static void SaveSpecificResultsForThisMeasurement(this Measurement m, INCCResult res)
 {
     long mid = m.MeasurementId.UniqueId;
     DB.ElementList els = res.ToDBElementList(); // generates the Table property content too
     DB.ParamsRelatedBackToMeasurement ar = new DB.ParamsRelatedBackToMeasurement(res.Table);
     long resid = ar.Create(mid, els);
     m.Logger.TraceEvent(NCCReporter.LogLevels.Verbose, 34103, String.Format("Results {0} preserved ({1})",resid, res.Table));
 }
Exemplo n.º 3
0
 /// <summary>
 /// Save specific analysis results for Background, Initial Source, Normalization and Precision measurements.
 /// </summary>
 /// <param name="m">The measurement to preserve</param>
 /// <param name="res">The subclassed specific results instance</param> 
 static void SaveSpecificResultsForThisMeasurement(this Measurement m, INCCResult res)
 {
     DB.Measurements ms = new DB.Measurements();
     long mid = ms.Lookup(m.Detectors[0].Id.DetectorName, m.MeasDate, m.MeasOption.PrintName());
     DB.ElementList els = res.ToDBElementList(); // generates the Table property content too
     DB.ParamsRelatedBackToMeasurement ar = new DB.ParamsRelatedBackToMeasurement(res.Table, ms.db);
     long resid = ar.Create(mid, els);                          
     m.Logger.TraceEvent(NCCReporter.LogLevels.Verbose, 34103, String.Format("Results {0} preserved ({1})",resid, res.Table));
 }