65 QObject::tr(
"error extracting XIC: no MS level 1 in data file"));
83 std::vector<XicCoordSPtr>::iterator it_xic_coord_list_begin,
84 std::vector<XicCoordSPtr>::iterator it_xic_coord_list_end)
89 return a.get()->rtTarget <
b.get()->rtTarget;
92 for(
auto it = it_xic_coord_list_begin; it != it_xic_coord_list_end; it++)
109 std::shared_ptr<Xic> msrunxic_sp = xic_coord.
xicSptr;
118 while((itpoints !=
m_msrun_points.end()) && (itpoints->rt < rt_begin))
124 while((itpoints !=
m_msrun_points.end()) && (itpoints->rt <= rt_end))
126 spectrum =
msp_msrun_reader.get()->massSpectrumSPtr(itpoints->spectrum_index);
130 qDebug() <<
" spectrum->size()=" << spectrum->size();
131 keep_range.
filter(*(spectrum.get()));
132 qDebug() <<
" spectrum->size()=" << spectrum->size();
134 peak.
x = itpoints->rt;
139 if(spectrum->size() > 0)
143 qDebug() <<
" peak.y=" << peak.
y <<
" spectrum->size()=" << spectrum->size();
148 peak.
y =
sumYTrace(spectrum->begin(), spectrum->end(), 0);
150 msrunxic_sp->push_back(peak);
158 const std::vector<MzRange> &mass_range_list,
164 std::vector<DataPoint> peak_for_mass;
165 for(
const MzRange &mass_range : mass_range_list)
168 qDebug() <<
" mass_range=" << mass_range.getMz();
176 while((itpoints !=
m_msrun_points.end()) && (itpoints->rt < rt_begin))
182 while((itpoints !=
m_msrun_points.end()) && (itpoints->rt <= rt_end))
184 spectrum =
msp_msrun_reader.get()->massSpectrumCstSPtr(itpoints->spectrum_index);
188 peak.x = itpoints->rt;
194 for(
auto &&spectrum_point : *(spectrum.get()))
198 for(std::size_t i = 0; i < mass_range_list.size(); i++)
200 if(mass_range_list[i].contains(spectrum_point.x))
204 if(peak_for_mass[i].
y < spectrum_point.y)
206 peak_for_mass[i].y = spectrum_point.y;
211 peak_for_mass[i].y += spectrum_point.y;
217 for(std::size_t i = 0; i < mass_range_list.size(); i++)
221 xic_list[i]->push_back(peak_for_mass[i]);
Trace & filter(Trace &trace) const override
void setNeedPeakList(bool need_peak_list)
void setMsLevels(std::vector< std::size_t > ms_levels)
pappso_double lower() const
pappso_double upper() const
virtual bool shouldIstop()=0
should the procces be stopped ? If true, then cancel process Use this function at strategic point of ...
virtual void count()=0
count steps report when a step is computed in an algorithm
@ max
maximum of intensities
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< MsRunReader > MsRunReaderSPtr
std::vector< DataPoint >::const_iterator maxYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)
double pappso_double
A type definition for doubles.
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
double sumYTrace(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end, double init)
calculate the sum of y value of a trace
std::shared_ptr< MassSpectrum > MassSpectrumSPtr
std::shared_ptr< XicCoord > XicCoordSPtr
coordinates of the XIC to extract and the resulting XIC after extraction
XicSPtr xicSptr
extracted xic
double rtTarget
the targeted retention time to extract around intended in seconds, and related to one msrun....
MzRange mzRange
the mass to extract