Beispiel #1
0
        /// <summary>
        /// Set peak ID
        /// </summary>
        /// <param name="dbData">DB data</param>
        /// <param name="item">File data item</param>
        /// <returns>error code</returns>
        private SIMCA_READ_ERR_CODE SetPeakId(SimcaDbData dbData, SimcaDataItem item)
        {
            if (this.DataType != SIMCA_DATA_TYPE.SCORE_PLOT)
            {
                item.PeakId = -1;
                if (this.HasRt && _secondaryIdIndexList.Count() >= 2)
                {
                    double rt, mz;
                    if (!item.TryGetDoubleValue(_secondaryIdIndexList[0], out rt))
                    {
                        return(SIMCA_READ_ERR_CODE.NG_FORMAT);
                    }
                    if (!item.TryGetDoubleValue(_secondaryIdIndexList[1], out mz))
                    {
                        return(SIMCA_READ_ERR_CODE.NG_FORMAT);
                    }
                    item.PeakId = dbData.FindPeakId(rt, mz);
                }
                else if (!this.HasRt && _secondaryIdIndexList.Count() >= 1)
                {
                    double mz;
                    if (!item.TryGetDoubleValue(_secondaryIdIndexList[0], out mz))
                    {
                        return(SIMCA_READ_ERR_CODE.NG_FORMAT);
                    }
                    item.PeakId = dbData.FindPeakId(mz);
                }
            }

            return(SIMCA_READ_ERR_CODE.OK);
        }
Beispiel #2
0
        /// <summary>
        /// Check skip data
        /// </summary>
        /// <param name="dbData">DB data</param>
        /// <param name="item">File data item</param>
        /// <returns>error code</returns>
        private SIMCA_READ_ERR_CODE CheckSkipData(SimcaDbData dbData, SimcaDataItem item)
        {
            if (this.DataType == SIMCA_DATA_TYPE.SCORE_PLOT)
            {
                return(SIMCA_READ_ERR_CODE.OK);
            }

            double dummy;
            int    count = 0;

            foreach (int index in _secondaryIdIndexList)
            {
                if (!item.TryGetDoubleValue(index, out dummy))
                {
                    return(SIMCA_READ_ERR_CODE.SKIP);
                }

                count++;
                if (count >= 2)
                {
                    break;
                }
            }
            foreach (int index in _dataIndexList)
            {
                if (!item.TryGetDoubleValue(index, out dummy))
                {
                    return(SIMCA_READ_ERR_CODE.SKIP);
                }
                if (this.DataType == SIMCA_DATA_TYPE.S_PLOT)
                {
                    if (!item.TryGetDoubleValue(index + 1, out dummy))
                    {
                        return(SIMCA_READ_ERR_CODE.SKIP);
                    }
                }
            }
            return(SIMCA_READ_ERR_CODE.OK);
        }