public Spectra(SrmDocument document, SpectrumFilter filter, ChromatogramLoadingStatus.TransitionData allChromData, MsDataFileImpl dataFile) { _document = document; _filter = filter; _dataFile = dataFile; _allChromData = allChromData; _lookaheadContext = new LookaheadContext(_filter, _dataFile); _countSpectra = dataFile.SpectrumCount; HasSrmSpectra = dataFile.HasSrmSpectra; // If possible, find the maximum retention time in order to scale the chromatogram graph. if (_allChromData != null && (_filter.EnabledMsMs || _filter.EnabledMs)) { var retentionTime = _dataFile.GetStartTime(_countSpectra - 1); if (retentionTime.HasValue) { _allChromData.MaxRetentionTime = (float)retentionTime.Value; _allChromData.MaxRetentionTimeKnown = true; _allChromData.Progressive = true; } } }