78 using Iterator = ContainerType::iterator;
142 return data_.front();
146 return data_.front();
160 return data_.begin();
164 return data_.begin();
168 return data_.cbegin();
186 return data_.rbegin();
190 return data_.crbegin();
198 return data_.crend();
203 return data_.empty();
207 return data_.erase(where);
216 return data_.emplace_back(mb);
218 template<
class...
Args>
221 data_.emplace_back(args...);
231 return data_.insert(where, first, last);
236 return data_.resize(new_size);
240 return data_.reserve(new_size);
250 data_.swap(mb.data_);
251 std::swap(retention_time_, mb.retention_time_);
252 std::swap(drift_time_unit_, mb.drift_time_unit_);
257 void updateRanges()
override;
264 return retention_time_;
270 retention_time_ = rt;
278 return drift_time_unit_;
282 String getDriftTimeUnitAsString()
const;
299 void sortByIntensity(
bool reverse =
false);
306 void sortByPosition();
309 bool isSorted()
const;
315 template<
class Predicate>
318 auto value_2_index_wrapper = [
this, &lambda](
const PeakType& value1,
const PeakType& value2) {
320 const Size index1 = (&value1) - (&this->front());
321 const Size index2 = (&value2) - (&this->front());
323 assert(index1 < this->size());
324 assert(index2 < this->size());
325 return lambda(index1, index2);
327 return std::is_sorted(this->begin(), this->end(), value_2_index_wrapper);
344 Size findNearest(CoordinateType mb)
const;
357 Int findNearest(CoordinateType mb, CoordinateType tolerance)
const;
372 Int findNearest(CoordinateType mb, CoordinateType tolerance_left, CoordinateType tolerance_right)
const;
385 Int findHighestInWindow(CoordinateType mb, CoordinateType tolerance_left, CoordinateType tolerance_right)
const;
392 Iterator MBBegin(CoordinateType mb);
420 ConstIterator MBBegin(CoordinateType mb)
const;
427 ConstIterator MBBegin(ConstIterator begin, CoordinateType mb, ConstIterator end)
const;
434 ConstIterator MBEnd(CoordinateType mb)
const;
441 ConstIterator MBEnd(ConstIterator begin, CoordinateType mb, ConstIterator end)
const;
450 Iterator PosBegin(CoordinateType mb);
468 ConstIterator PosBegin(CoordinateType mb)
const;
477 ConstIterator PosBegin(ConstIterator begin, CoordinateType mb, ConstIterator end)
const;
504 ConstIterator PosEnd(CoordinateType mb)
const;
513 ConstIterator PosEnd(ConstIterator begin, CoordinateType mb, ConstIterator end)
const;
523 void clear() noexcept;
527 ConstIterator getBasePeak() const;
534 PeakType::IntensityType calculateTIC() const;
541 double retention_time_ = -1;
547 OPENMS_DLLAPI
std::ostream& operator<<(
std::ostream& os, const
Mobilogram& mb);
bool empty() const noexcept
Definition: Mobilogram.h:201
double getRT() const noexcept
Definition: Mobilogram.h:262
ContainerType::const_iterator ConstIterator
Non-mutable iterator.
Definition: Mobilogram.h:82
DriftTimeUnit
Drift time unit for ion mobility.
Definition: IMTypes.h:48
A more convenient string class.
Definition: String.h:58
ReverseIterator rend() noexcept
Definition: Mobilogram.h:192
A 2-dimensional raw data point or peak.
Definition: Peak2D.h:54
void swap(Mobilogram &mb) noexcept
Definition: Mobilogram.h:248
void reserve(size_t new_size)
Definition: Mobilogram.h:238
void setRT(double rt) noexcept
Sets the retention time (in seconds)
Definition: Mobilogram.h:268
ContainerType::reverse_iterator ReverseIterator
Mutable reverse iterator.
Definition: Mobilogram.h:85
MobilityPeak1D & emplace_back(MobilityPeak1D mb)
Definition: Mobilogram.h:214
ConstIterator cend() const noexcept
Definition: Mobilogram.h:179
ConstIterator end() const noexcept
Definition: Mobilogram.h:175
bool operator==(const IDBoostGraph::ProteinGroup &lhs, const IDBoostGraph::ProteinGroup &rhs)
const MobilityPeak1D & back() const noexcept
Definition: Mobilogram.h:153
double CoordinateType
Coordinate type (of the position)
Definition: Peak2D.h:64
ConstReverseIterator crend() const
Definition: Mobilogram.h:196
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
void pop_back()
Definition: Mobilogram.h:224
ConstIterator const_iterator
Definition: Mobilogram.h:83
MobilityPeak1D & front() noexcept
Definition: Mobilogram.h:140
bool isSorted(const Predicate &lambda) const
Definition: Mobilogram.h:316
Iterator begin() noexcept
Definition: Mobilogram.h:158
ContainerType::const_reverse_iterator ConstReverseIterator
Non-mutable reverse iterator.
Definition: Mobilogram.h:88
ConstReverseIterator const_reverse_iterator
Definition: Mobilogram.h:89
ConstIterator begin() const noexcept
Definition: Mobilogram.h:162
ReverseIterator rbegin() noexcept
Definition: Mobilogram.h:184
ConstIterator erase(ConstIterator where) noexcept
Definition: Mobilogram.h:205
static String & reverse(String &this_s)
Definition: StringUtilsSimple.h:355
MobilityPeak1D & back() noexcept
Definition: Mobilogram.h:149
MobilityPeak1D & operator[](Size i) noexcept
Definition: Mobilogram.h:130
Iterator iterator
Definition: Mobilogram.h:80
size_t size() const noexcept
Definition: Mobilogram.h:243
DriftTimeUnit getDriftTimeUnit() const noexcept
Returns the ion mobility drift time unit.
Definition: Mobilogram.h:276
std::vector< PeakType > ContainerType
Mobilogram base type.
Definition: Mobilogram.h:70
ConstReverseIterator crbegin() const
Definition: Mobilogram.h:188
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
A 1-dimensional raw data mobility point or peak. The unit (ms, 1/K_0, etc) is implicit.
Definition: MobilityPeak1D.h:50
ContainerType::iterator Iterator
Mutable iterator.
Definition: Mobilogram.h:79
void emplace_back(Args &&... args)
Definition: Mobilogram.h:219
Iterator end() noexcept
Definition: Mobilogram.h:171
void resize(size_t new_size)
Definition: Mobilogram.h:234
Iterator insert(ConstIterator where, ConstIterator first, ConstIterator last)
Definition: Mobilogram.h:229
void push_back(MobilityPeak1D mb)
Definition: Mobilogram.h:210
Comparator for the RT of the mobilogram.
Definition: Mobilogram.h:58
Handles the management of a multidimensional range, e.g. RangeMZ and RangeIntensity for spectra...
Definition: RangeManager.h:565
const MobilityPeak1D & front() const noexcept
Definition: Mobilogram.h:144
ReverseIterator reverse_iterator
Definition: Mobilogram.h:86
Definition: RangeManager.h:896
custom arguments to allow for looping calls
Definition: WizardHelper.h:72
int Int
Signed integer type.
Definition: Types.h:102
ConstIterator cbegin() const noexcept
Definition: Mobilogram.h:166
The representation of a 1D ion mobilogram.
Definition: Mobilogram.h:54
const MobilityPeak1D & operator[](Size i) const noexcept
Definition: Mobilogram.h:134