コード例 #1
0
        /// <summary>
        /// Returns the MSLevel for the given frame
        /// </summary>
        /// <param name="frameNum">Frame number</param>
        /// <returns>1 for MS1 frames, 2 for MS2 frames, 0 for calibration frames, </returns>
        public override int GetMSLevelFromRawData(int frameNum)
        {
            if (MS1Frames.BinarySearch(frameNum) >= 0)
            {
                return(1);
            }
            if (MS2Frames.BinarySearch(frameNum) >= 0)
            {
                return(2);
            }

            var fp = UIMFLibraryAdapter.getInstance(this.Filename).Datareader.GetFrameParams(frameNum);

            if (fp.FrameType == DataReader.FrameType.MS1)
            {
                return(1);
            }
            if (fp.FrameType == DataReader.FrameType.MS2)
            {
                return(2);
            }
            if (fp.FrameType == DataReader.FrameType.Calibration)
            {
                return(0);
            }

            return(1);
        }
コード例 #2
0
        public int GetClosestMS1Frame(int lcScan)
        {
            if (MS1Frames == null || MS1Frames.Count == 0)
            {
                throw new ApplicationException("Cannot get closest MS1 frames. MSFrame list is empty");
            }

            if (MS1Frames.Contains(lcScan))
            {
                return(lcScan);
            }

            var closestLCScan = MinLCScan;
            var smallestDiff  = Int32.MaxValue;

            foreach (var t in MS1Frames)
            {
                var currentDiff = Math.Abs(t - lcScan);
                if (currentDiff < smallestDiff)
                {
                    closestLCScan = t;
                    smallestDiff  = currentDiff;
                }
            }

            return(closestLCScan);
        }
コード例 #3
0
ファイル: UIMFRun.cs プロジェクト: Acedon95/DeconTools
        /// <summary>
        /// Returns the MSLevel for the given frame
        /// </summary>
        /// <param name="frameNum">Frame number</param>
        /// <returns>1 for MS1 frames, 2 for MS2 frames, 0 for calibration frames, </returns>
        public override int GetMSLevelFromRawData(int frameNum)
        {
            if (MS1Frames.BinarySearch(frameNum) >= 0)
            {
                return(1);
            }
            if (MS2Frames.BinarySearch(frameNum) >= 0)
            {
                return(2);
            }

            var frameParams = mReader.GetFrameParams(frameNum);

            switch (frameParams.FrameType)
            {
            case UIMFData.FrameType.MS1:
                return(1);

            case UIMFData.FrameType.MS2:
                return(2);

            case UIMFData.FrameType.Calibration:
                return(0);

            default:
                return(1);
            }
        }