122 if(!map_trace.size())
124 std::transform(
m_bins.begin(),
126 std::inserter(map_trace, map_trace.end()),
128 return std::make_pair(key, 0.0);
135 using TraceIter = std::vector<DataPoint>::const_iterator;
136 TraceIter trace_iter_begin = trace.begin();
137 TraceIter trace_iter = trace_iter_begin;
138 TraceIter trace_iter_end = trace.end();
148 using BinIter = std::map<double, double>::iterator;
149 BinIter map_trace_bin_iter = map_trace.begin();
150 BinIter map_trace_bin_end_iter = map_trace.end();
159 BinIter map_trace_bin_iter_for_mz = map_trace.upper_bound(trace_iter->x);
162 if(map_trace_bin_iter_for_mz != map_trace.begin())
165 --map_trace_bin_iter_for_mz;
184 while(map_trace_bin_iter != map_trace_bin_end_iter)
199 while(trace_iter != trace_iter_end)
216 if(trace_iter->x <= map_trace_bin_iter->first)
225 map_trace_bin_iter->second += trace_iter->y;
260 if(trace_iter == trace_iter_end)
267 ++map_trace_bin_iter;