| 785 | } |
| 786 | |
| 787 | bool MSExperiment::isIMFrame() const |
| 788 | { |
| 789 | if (spectra_.empty()) return false; |
| 790 | auto rt_start = spectra_[0].getRT(); |
| 791 | auto last_drift = std::numeric_limits<double>::lowest(); |
| 792 | for (const auto& s : spectra_) { |
| 793 | if (s.getRT() != rt_start) return false; // RT changes... |
| 794 | if (s.getDriftTime() == last_drift) return false; // IM did not change... |
| 795 | last_drift = s.getDriftTime(); |
| 796 | } |
| 797 | return true; // RT stable, IM changing |
| 798 | } |
| 799 | |
| 800 | MSExperiment::SpectrumType* MSExperiment::createSpec_(PeakType::CoordinateType rt) |
| 801 | { |