22 #ifndef CONVERT2DENSE_H
23 #define CONVERT2DENSE_H
28 #include <boost/assert.hpp>
29 #include <boost/cstdint.hpp>
52 std::size_t
defBreak(std::pair<double, double> & mzrange,
double ppm ){
60 template<
typename Tmass,
typename T
intens,
typename Tout >
66 for( ; beginMass != (endMass -1) ; ++beginMass, ++intens ){
67 double mass1 = *beginMass;
68 double mass2 = *(beginMass+1);
69 double predmass2 = mass1 + (
am_* sqrt(mass1))*1.01;
70 if(mass2 > predmass2){
74 double deltamass = mass2-mass1;
77 deltamasshalf= deltamass/2.;
80 deltamasshalf = deltamass;
85 double intensd =
static_cast<double>(*intens);
87 BOOST_ASSERT(fabs(deltamass- sum) < 1e-11);
90 for(std::size_t i = 0 ; i <
idx_.size();++i){
93 double bb= intensd *
weight_[i]/deltamass;
94 *(ass +
idx_[i]) += bb;
98 BOOST_ASSERT( fabs(check - intensd) < 1e-3 );
108 template<
typename Tmass,
typename T
intens >
110 std::vector<
typename std::iterator_traits<Tintens>::value_type > & gg
121 #endif // CONVERT2DENSE_H