91 const Trace &trace)
const
123 if(!map_trace.size())
125 std::transform(
m_bins.begin(),
127 std::inserter(map_trace, map_trace.end()),
129 return std::make_pair(key, 0.0);
136 using TraceIter = std::vector<DataPoint>::const_iterator;
137 TraceIter trace_iter_begin = trace.begin();
138 TraceIter trace_iter = trace_iter_begin;
139 TraceIter trace_iter_end = trace.end();
149 using BinIter = std::map<double, double>::iterator;
150 BinIter map_trace_bin_iter = map_trace.begin();
151 BinIter map_trace_bin_end_iter = map_trace.end();
160 BinIter map_trace_bin_iter_for_mz = map_trace.upper_bound(trace_iter->x);
163 if(map_trace_bin_iter_for_mz != map_trace.begin())
166 --map_trace_bin_iter_for_mz;
183 while(map_trace_bin_iter != map_trace_bin_end_iter)
198 while(trace_iter != trace_iter_end)
214 if(trace_iter->x <= map_trace_bin_iter->first)
223 map_trace_bin_iter->second -= trace_iter->y;
258 if(trace_iter == trace_iter_end)
265 ++map_trace_bin_iter;