66 double min_range = max_intensity.
x - mz_range;
67 double max_range = max_intensity.
x + mz_range;
76 if((old_point.x < min_range) || (old_point.x > max_range))
82 new_point.
y += old_point.y;
83 new_point.
x += old_point.y * old_point.x;
89 new_point.
x = new_point.
x / new_point.
y;
99 std::vector<DataPoint>::iterator it_max =
102 while((it_max != data_points.end()) && (it_max->y > 0))
105 new_trace.push_back(
sumAndRemove(data_points, *it_max));
107 it_max =
maxYDataPoint(data_points.begin(), data_points.end());
112 data_points = std::move(new_trace);
Trace & filter(Trace &data_points) const override
DataPoint sumAndRemove(Trace &trace, const DataPoint &max_intensity) const
double setTriangleSlope(double intensity, double mz)
A simple container of DataPoint instances.
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::vector< DataPoint >::const_iterator maxYDataPoint(std::vector< DataPoint >::const_iterator begin, std::vector< DataPoint >::const_iterator end)