ProteoWizard
Public Member Functions | Public Attributes | List of all members
ralab::base::resample::Convert2Dense Struct Reference

#include <convert2dense.hpp>

Public Member Functions

 Convert2Dense (double am=0.1)
 
std::size_t defBreak (std::pair< double, double > &mzrange, double ppm)
 computes split points of an map.
 
template<typename Tmass , typename Tintens , typename Tout >
void convert2dense (Tmass beginMass, Tmass endMass, Tintens intens, Tout ass)
 Converts a sparse spec to a dense spec.
 
void getMids (std::vector< double > &mids)
 
template<typename Tmass , typename Tintens >
void convert2dense (Tmass beginMass, Tmass endMass, Tintens intens, std::vector< typename std::iterator_traits< Tintens >::value_type > &gg)
 Converts a sparse spec to a dense spec.
 

Public Attributes

ralab::base::resample::Bin1D bin_
 
std::vector< int32_tidx_
 
std::vector< double > weight_
 
double am_
 

Detailed Description

Definition at line 42 of file convert2dense.hpp.

Constructor & Destructor Documentation

◆ Convert2Dense()

ralab::base::resample::Convert2Dense::Convert2Dense ( double  am = 0.1)
inline

Definition at line 48 of file convert2dense.hpp.

Member Function Documentation

◆ defBreak()

std::size_t ralab::base::resample::Convert2Dense::defBreak ( std::pair< double, double > &  mzrange,
double  ppm 
)
inline

computes split points of an map.

Definition at line 52 of file convert2dense.hpp.

52 {
54 ralab::base::resample::breaks( mzrange.first - 1. , mzrange.second + 1. , ppmf , bin_.breaks_ );
55 bin_.reset();
56 return bin_.breaks_.size();
57 }
void breaks(double minMass, double maxMass, TMassComparator tmassComp, std::vector< double > &breaks, bool exact=false)
Segment mass range according to Mass Compare functor could be used to histogram a dataset or to compu...
Definition breakspec.hpp:41
std::vector< double > breaks_
Definition bin1d.hpp:46
TODO Do checking on TReal thats a real.

References bin_, ralab::base::resample::breaks(), ralab::base::resample::Bin1D::breaks_, and ralab::base::resample::Bin1D::reset().

Referenced by ralab::base::ms::PeakPicker< TReal, TIntegrator >::PeakPicker().

◆ convert2dense() [1/2]

template<typename Tmass , typename Tintens , typename Tout >
void ralab::base::resample::Convert2Dense::convert2dense ( Tmass  beginMass,
Tmass  endMass,
Tintens  intens,
Tout  ass 
)
inline

Converts a sparse spec to a dense spec.

Definition at line 61 of file convert2dense.hpp.

64 {
65
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){
71 mass2 = predmass2;
72 }
73
74 double deltamass = mass2-mass1;
75 double deltamasshalf;
76 if(true){
77 deltamasshalf= deltamass/2.;
78 }
79 else{
80 deltamasshalf = deltamass;
81 }
82
83 bin_(mass1-deltamasshalf,mass2-deltamasshalf,idx_,weight_);
84
85 double intensd = static_cast<double>(*intens);
86 double sum = std::accumulate(weight_.begin(),weight_.end(),0.);
87 BOOST_ASSERT(fabs(deltamass- sum) < 1e-11);
88
89 double check = 0.;
90 for(std::size_t i = 0 ; i < idx_.size();++i){
91 if((idx_[i]>=0) &(idx_[i] < static_cast<int32_t>(bin_.breaks_.size() - 1)))
92 {
93 double bb= intensd * weight_[i]/deltamass;
94 *(ass + idx_[i]) += bb;
95 check += bb;
96 }
97 }
98 BOOST_ASSERT( fabs(check - intensd) < 1e-3 );
99 }
100 }//convert2dense
boost::int32_t int32_t
Definition bin1d.hpp:40

References am_, bin_, ralab::base::resample::Bin1D::breaks_, idx_, and weight_.

Referenced by convert2dense(), and ralab::base::ms::PeakPicker< TReal, TIntegrator >::operator()().

◆ getMids()

void ralab::base::resample::Convert2Dense::getMids ( std::vector< double > &  mids)
inline

Definition at line 102 of file convert2dense.hpp.

103 {
105 }
TOutputIterator getMids(TInputIterator breaksBeg, TInputIterator breaksEnd, TOutputIterator midsBeg)
Definition breakspec.hpp:79

References bin_, ralab::base::resample::Bin1D::breaks_, and ralab::base::resample::getMids().

Referenced by ralab::base::ms::PeakPicker< TReal, TIntegrator >::PeakPicker().

◆ convert2dense() [2/2]

template<typename Tmass , typename Tintens >
void ralab::base::resample::Convert2Dense::convert2dense ( Tmass  beginMass,
Tmass  endMass,
Tintens  intens,
std::vector< typename std::iterator_traits< Tintens >::value_type > &  gg 
)
inline

Converts a sparse spec to a dense spec.

Definition at line 109 of file convert2dense.hpp.

111 {
112 gg.resize(bin_.breaks_.size() - 1);
113 convert2dense(beginMass,endMass, intens, gg.begin());
114 }
void convert2dense(Tmass beginMass, Tmass endMass, Tintens intens, Tout ass)
Converts a sparse spec to a dense spec.

References bin_, ralab::base::resample::Bin1D::breaks_, and convert2dense().

Member Data Documentation

◆ bin_

ralab::base::resample::Bin1D ralab::base::resample::Convert2Dense::bin_

Definition at line 44 of file convert2dense.hpp.

Referenced by convert2dense(), convert2dense(), defBreak(), and getMids().

◆ idx_

std::vector<int32_t> ralab::base::resample::Convert2Dense::idx_

Definition at line 45 of file convert2dense.hpp.

Referenced by convert2dense().

◆ weight_

std::vector<double> ralab::base::resample::Convert2Dense::weight_

Definition at line 46 of file convert2dense.hpp.

Referenced by convert2dense().

◆ am_

double ralab::base::resample::Convert2Dense::am_

The documentation for this struct was generated from the following file: