62 msp_msrunReader.get()->newXicCoordSPtrFromQualifiedMassSpectrum(
70 <<
" precursor.get()->getXicCoordSPtr().get()->toString="
71 << precursor.get()->getXicCoordSPtr().get()->toString();
72 if(precursor.get()->getXicCoordSPtr().get() ==
nullptr)
75 QObject::tr(
"precursor.get()->getXicCoordSPtr().get() == "
76 "nullptr\nindex=%1 %2 %3 %4")
88 mapScanNumberPrecursor(
92 mapSpectrumIndexToPrecursor(
99 mapScanNumberPrecursor(
102 mapSpectrumIndexToPrecursor(
121 if(precursor.get()->getXicCoordSPtr().get() ==
nullptr)
125 "precursor.get()->getXicCoordSPtr().get() == nullptr scan_num=%1\n")
128 m_scanNumber2PrecursorMap[scan_num] = precursor;
136 qDebug() <<
" spectrum_index=" << spectrum_index;
138 if(precursor.get()->getXicCoordSPtr().get() ==
nullptr)
141 QObject::tr(
"precursor.get()->getXicCoordSPtr().get() == nullptr \n")
142 .arg(msp_msrunReader.get()->getMsRunId()->getXmlId())
143 .arg(spectrum_index));
145 m_spectrumIndex2PrecursorMap[spectrum_index] = precursor;
146 qDebug() <<
" spectrum_index=" << spectrum_index;
151 std::size_t spectrum_index)
const
153 auto it = m_spectrumIndex2PrecursorMap.find(spectrum_index);
154 if(it != m_spectrumIndex2PrecursorMap.end())
160 QObject::tr(
"spectrum index %1 not found in %2")
162 .arg(msp_msrunReader.get()->getMsRunId()->getXmlId()));
169 std::size_t spectrum_index)
const
171 auto it = m_scanNumber2PrecursorMap.find(spectrum_index);
172 if(it != m_scanNumber2PrecursorMap.end())
178 QObject::tr(
"scan number %1 not found in %2")
180 .arg(msp_msrunReader.get()->getMsRunId()->getXmlId()));
std::size_t getSpectrumIndex() const
const QString & getNativeId() const
static PrecisionPtr getPpmInstance(pappso_double value)
get a ppm precision pointer
Class representing a fully specified mass spectrum.
uint getMsLevel() const
Get the mass spectrum level.
pappso_double getPrecursorIntensity(bool *ok=nullptr) const
get precursor intensity
const MassSpectrumId & getMassSpectrumId() const
Get the MassSpectrumId.
pappso_double getPrecursorMz(bool *ok=nullptr) const
get precursor mz
std::size_t getPrecursorSpectrumIndex() const
Get the scan number of the precursor ion.
static std::size_t extractScanNumberFromMzmlNativeId(const QString &spectrum_native_id)
const PrecursorSp & getPrecursorSPtrBySpectrumIndex(std::size_t spectrum_index) const
void mapSpectrumIndexToPrecursor(std::size_t spectrum_index, PrecursorSp precursor)
map spectrum index to precursor new modern method to replace obsolete scan number
virtual bool needPeakList() const override
tells if we need the peak list (if we want the binary data) for each spectrum
void mapScanNumberPrecursor(std::size_t scan_num, PrecursorSp precursor)
map precursor to its scan number as parsed in the xml file of this msrun
virtual ~PrecursorParser()
virtual void setQualifiedMassSpectrum(const pappso::QualifiedMassSpectrum &qspectrum) override
virtual bool isReadAhead() const override
tells if we want to read ahead spectrum
const PrecursorSp & getPrecursorSPtrByScanNumber(std::size_t spectrum_index) const
PrecursorParser(pappso::MsRunReaderCstSPtr msrun_reader)
pappso::MsRunReaderCstSPtr msp_msrunReader
std::shared_ptr< Precursor > PrecursorSp
std::shared_ptr< const MsRunReader > MsRunReaderCstSPtr