public PrecursorPeak(PrecursorPeak source)
 {
     MonoIsotopicMass = source.MonoIsotopicMass;
     IsolationMass    = source.IsolationMass;
     IsolationWidth   = source.IsolationWidth;
     Charge           = source.Charge;
     Intensity        = source.Intensity;
     MasterScan       = source.MasterScan;
 }
        public virtual PrecursorPeak GetPrecursorPeakWithMasterScan(int scan)
        {
            var result = new PrecursorPeak(GetPrecursorPeak(scan))
            {
                IsolationMass  = GetIsolationMass(scan),
                MasterScan     = GetMasterScan(scan),
                IsolationWidth = GetIsolationWidth(scan)
            };

            result.MonoIsotopicMass = result.IsolationMass;
            return(result);
        }
        public override PrecursorPeak GetPrecursorPeakWithMasterScan(int scan)
        {
            PrecursorPeak result = new PrecursorPeak();

            result.IsolationMass = GetIsolationMass(scan);

            result.MonoIsotopicMass = GetPrecursorMzFromTrailerExtraValue(scan);
            if (0.0 != result.MonoIsotopicMass)
            {
                result.Charge = GetPrecursorChargeFromTrailerExtraValue(scan);
            }
            else
            {
                result.MonoIsotopicMass = result.IsolationMass;
            }

            result.MasterScan     = GetMasterScan(scan);
            result.IsolationWidth = GetIsolationWidth(scan);

            return(result);
        }