コード例 #1
0
 private void ProcessSrmSpectrum(double time,
     string modifiedSequence,
     Color peptideColor,
     double precursorMz,
     int filterIndex,
     double[] mzs,
     double[] intensities,
     double ionMobilityValue,
     double ionMobilityExtractionWidth,
     ChromDataCollectorSet chromMap)
 {
     float[] intensityFloats = new float[intensities.Length];
     for (int i = 0; i < intensities.Length; i++)
         intensityFloats[i] = (float) intensities[i];
     var productFilters = mzs.Select(mz => new SpectrumProductFilter(mz, 0)).ToArray();
     var spectrum = new ExtractedSpectrum(modifiedSequence, peptideColor, precursorMz, ionMobilityValue, ionMobilityExtractionWidth,
         ChromExtractor.summed, filterIndex, productFilters, intensityFloats, null);
     chromMap.ProcessExtractedSpectrum((float)time, _collectors, -1, spectrum, null);
 }
コード例 #2
0
        /// <summary>
        /// Process a list of spectra - typically of length one,
        /// but possibly a set of drift bins all with same retention time,
        /// or a set of Agilent ramped-CE Mse scans to be averaged
        /// </summary>
        private void ProcessSpectrumList(MsDataSpectrum[] spectra,
            ChromDataCollectorSet chromMap,
            double rt,
            SpectrumFilter filter,
            string scanId)
        {
            lock (_blockWriter)
            {
                foreach (var spectrum in filter.Extract(rt, spectra))
                {
                    if (_loader.IsCanceled)
                        throw new LoadCanceledException(Status);

                    chromMap.ProcessExtractedSpectrum((float) rt, _collectors, GetScanIdIndex(scanId), spectrum, AddChromCollector);
                }
            }
        }