예제 #1
0
        /// <summary>
        /// group files based on three items: Ion polarity, fragmentor voltage and storage type.
        /// </summary>
        /// <param name="dataAccess"></param>
        /// <param name="ionPolarity"></param>
        /// <param name="fragmentorVoltage"></param>
        /// <returns></returns>
        private DesiredMSStorageType GetStorageType(IDataAccess dataAccess, IonPolarity ionPolarity, double fragmentorVoltage)
        {
            DesiredMSStorageType storageModeToUse;
            IMSChromatogram      chromatogram;
            bool requiresTofData         = true;
            IBDAFileInformation fileInfo = dataAccess.FileInformation;

            if (fileInfo.MSScanFileInformation.DeviceType == DeviceType.Quadrupole)
            {
                requiresTofData = false;
            }
            storageModeToUse = FindCpdsUtilities.GetStorageTypeToUse(dataAccess, ionPolarity, requiresTofData, MSLevel.MS, fragmentorVoltage, out chromatogram);

            return(storageModeToUse);
        }
예제 #2
0
        private List <IonPolarity> GetScanIonPolarities(IDataAccess dataAccess)
        {
            List <IonPolarity> rv = new List <IonPolarity>();

            IonPolarity         polaritiesInFile = IonPolarity.Unassigned;
            IBDAFileInformation fileInfo         = dataAccess.FileInformation;

            if (fileInfo.IsMSDataPresent())
            {
                IBDAMSScanFileInformation msInfo   = fileInfo.MSScanFileInformation;
                IBDAMSScanTypeInformation scanInfo = msInfo.GetMSScanTypeInformation(MSScanType.Scan);
                if (scanInfo != null)
                {
                    polaritiesInFile = scanInfo.IonPolarities;
                }
            }
            if (polaritiesInFile == IonPolarity.Unassigned)
            {
                UserMessage msg = new UserMessage(0,
                                                  string.Empty,
                                                  ProgramModule.CoreFacades,
                                                  DACoreFacadeMessages.MSG_MFE_NoMsScanData);
                throw new MSDAApplicationException(msg as IUserMessage);
            }

            switch (polaritiesInFile)
            {
            case IonPolarity.Mixed:
                rv.Add(IonPolarity.Positive);
                rv.Add(IonPolarity.Negative);
                break;

            case IonPolarity.Positive:
                rv.Add(IonPolarity.Positive);
                break;

            case IonPolarity.Negative:
                rv.Add(IonPolarity.Negative);
                break;

            default:
                break;
            }

            return(rv);
        }
예제 #3
0
        private bool IsGCData()
        {
            bool bRet = false;

            if (m_analyses.Count() > 0)
            {
                var analysis = m_analyses[0];
                if (analysis.DataAccess != null)
                {
                    IBDAFileInformation fileInfo = analysis.DataAccess.FileInformation;
                    if (fileInfo.MSScanFileInformation.IonModes == IonizationMode.EI)
                    {
                        bRet = true;
                    }
                }
            }
            return(bRet);
        }
예제 #4
0
        private void PrintFileInfo(IMsdrDataReader dataAccess)
        {
            IBDAFileInformation fileInfo = dataAccess.FileInformation;

            println("Data File: " + fileInfo.DataFileName);
            println("Acquisition Time: " + fileInfo.AcquisitionTime.ToShortDateString());
            println("IRM Status: " + fileInfo.IRMStatus);
            println("Measurement Type: " + fileInfo.MeasurementType);
            println("Separation Technique: " + fileInfo.SeparationTechnique);

            print("MS Data Present: ");
            if (fileInfo.IsMSDataPresent())
            {
                println("yes");
            }
            else
            {
                println("no");
            }

            print("Non-MS data present: ");
            if (fileInfo.IsNonMSDataPresent())
            {
                println("yes");
            }
            else
            {
                println("no");
            }

            print("UV spectra present: ");
            if (fileInfo.IsUVSpectralDataPresent())
            {
                println("yes");
            }
            else
            {
                println("no");
            }
        }