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

#include <bin1d.hpp>

Public Member Functions

 Bin1D ()
 
 Bin1D (std::vector< double > &breaks)
 
 Bin1D (const Bin1D &rhs)
 
void setBreaks (const std::vector< double > &breaks)
 
void reset ()
 
void getBreaks (std::vector< double > &breaks) const
 
const std::vector< double > & getBreaks () const
 
bool inRange (double dat) const
 
std::size_t operator() (double dat) const
 
void operator() (double dat1, double dat2, std::vector< int32_t > &idx, std::vector< double > &dist) const
 

Public Attributes

std::vector< double > breaks_
 
double * begbreaks_
 
double * endbreaks_
 

Detailed Description

Definition at line 44 of file bin1d.hpp.

Constructor & Destructor Documentation

◆ Bin1D() [1/3]

ralab::base::resample::Bin1D::Bin1D ( )
inline

Definition at line 50 of file bin1d.hpp.

std::vector< double > breaks_
Definition bin1d.hpp:46

◆ Bin1D() [2/3]

ralab::base::resample::Bin1D::Bin1D ( std::vector< double > &  breaks)
inline

Definition at line 52 of file bin1d.hpp.

55 {
56 this->setBreaks(breaks);
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
void setBreaks(const std::vector< double > &breaks)
Definition bin1d.hpp:68

References setBreaks().

◆ Bin1D() [3/3]

ralab::base::resample::Bin1D::Bin1D ( const Bin1D rhs)
inline

Definition at line 60 of file bin1d.hpp.

63 {
64 this->setBreaks(rhs.breaks_);
65 }

References breaks_, and setBreaks().

Member Function Documentation

◆ setBreaks()

void ralab::base::resample::Bin1D::setBreaks ( const std::vector< double > &  breaks)
inline

Definition at line 68 of file bin1d.hpp.

68 {
69 breaks_.assign( breaks.begin(), breaks.end() );
70 std::sort(breaks_.begin(),breaks_.end());
71 reset();
72 }

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

Referenced by Bin1D(), and Bin1D().

◆ reset()

void ralab::base::resample::Bin1D::reset ( )
inline

Definition at line 74 of file bin1d.hpp.

74 {
75 begbreaks_ = &breaks_[0];
76 endbreaks_ = begbreaks_ + breaks_.size();
77 }

References begbreaks_, breaks_, and endbreaks_.

Referenced by ralab::base::resample::Convert2Dense::defBreak(), and setBreaks().

◆ getBreaks() [1/2]

void ralab::base::resample::Bin1D::getBreaks ( std::vector< double > &  breaks) const
inline

Definition at line 79 of file bin1d.hpp.

79 {
81 }

References begbreaks_, ralab::base::resample::breaks(), and endbreaks_.

◆ getBreaks() [2/2]

const std::vector< double > & ralab::base::resample::Bin1D::getBreaks ( ) const
inline

Definition at line 83 of file bin1d.hpp.

83 {
84 return breaks_;
85 }

References breaks_.

◆ inRange()

bool ralab::base::resample::Bin1D::inRange ( double  dat) const
inline

Definition at line 88 of file bin1d.hpp.

88 {
89 return (dat > breaks_.front() && dat < breaks_.back());
90 }

References breaks_.

◆ operator()() [1/2]

std::size_t ralab::base::resample::Bin1D::operator() ( double  dat) const
inline

Definition at line 92 of file bin1d.hpp.

93 {
94 double * it2 = std::lower_bound(begbreaks_,endbreaks_,dat);
95 size_t ub = std::distance(begbreaks_,it2);
96 return ub;
97 }

References begbreaks_, and endbreaks_.

◆ operator()() [2/2]

void ralab::base::resample::Bin1D::operator() ( double  dat1,
double  dat2,
std::vector< int32_t > &  idx,
std::vector< double > &  dist 
) const
inline

Definition at line 99 of file bin1d.hpp.

104 {
105 double * it1 = std::lower_bound(begbreaks_,endbreaks_,dat1);
106 double * it2 = std::lower_bound(begbreaks_,endbreaks_,dat2);
107
108 size_t ub1 = std::distance(begbreaks_,it1);
109 size_t ub2 = std::distance(begbreaks_,it2);
110 int64_t n = static_cast<int64_t>(ub2-ub1)+1;
111 idx.resize(n);
112 dist.resize(n);
113
114 if(ub1 == ub2 ){
115 idx[0] = ub1-1;
116 dist[0] = dat2 - dat1;
117 return;
118 }
119 else{
120 for(int64_t i = 0; it1 != (it2+1) ; i++, it1++){
121 idx[i] = ub1 + i - 1;
122 if(i == 0)
123 {
124 dist[i] = *(it1) - dat1;
125 }
126 else if( i < n - 1 )
127 {
128 dist[i] = *(it1) - *(it1-1);
129 }
130 else
131 {
132 dist[i] = dat2 - *(it1-1);
133 }
134 }
135 }
136
137 }
boost::int64_t int64_t
Definition bin1d.hpp:41

References begbreaks_, and endbreaks_.

Member Data Documentation

◆ breaks_

std::vector<double> ralab::base::resample::Bin1D::breaks_

◆ begbreaks_

double* ralab::base::resample::Bin1D::begbreaks_

Definition at line 47 of file bin1d.hpp.

Referenced by getBreaks(), operator()(), operator()(), and reset().

◆ endbreaks_

double* ralab::base::resample::Bin1D::endbreaks_

Definition at line 48 of file bin1d.hpp.

Referenced by getBreaks(), operator()(), operator()(), and reset().


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