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. More...
 
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. More...
 
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. More...
 

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.

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

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

52  {
54  ralab::base::resample::breaks( mzrange.first - 1. , mzrange.second + 1. , ppmf , bin_.breaks_ );
55  bin_.reset();
56  return bin_.breaks_.size();
57  }
ralab::base::resample::Bin1D bin_
TODO Do checking on TReal thats a real.
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

§ 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.

References bin_, and ralab::base::resample::Bin1D::breaks_.

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

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
ralab::base::resample::Bin1D bin_
boost::int32_t int32_t
Definition: bin1d.hpp:40
std::vector< double > breaks_
Definition: bin1d.hpp:46

§ getMids()

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

Definition at line 102 of file convert2dense.hpp.

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

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

103  {
105  }
ralab::base::resample::Bin1D bin_
std::vector< double > breaks_
Definition: bin1d.hpp:46
TOutputIterator getMids(TInputIterator breaksBeg, TInputIterator breaksEnd, TOutputIterator midsBeg)
Definition: breakspec.hpp:79

§ 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.

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

111  {
112  gg.resize(bin_.breaks_.size() - 1);
113  convert2dense(beginMass,endMass, intens, gg.begin());
114  }
ralab::base::resample::Bin1D bin_
void convert2dense(Tmass beginMass, Tmass endMass, Tintens intens, Tout ass)
Converts a sparse spec to a dense spec.
std::vector< double > breaks_
Definition: bin1d.hpp:46

Member Data Documentation

§ bin_

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

Definition at line 44 of file convert2dense.hpp.

Referenced by convert2dense().

§ idx_

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

Definition at line 45 of file convert2dense.hpp.

§ weight_

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

Definition at line 46 of file convert2dense.hpp.

§ am_

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

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