OpenMS
RangeMobility Struct Reference

#include <OpenMS/KERNEL/RangeManager.h>

Inheritance diagram for RangeMobility:
[legend]
Collaboration diagram for RangeMobility:
[legend]

Public Member Functions

void extendMobility (const double value)
 extend the range such that it includes the given value More...
 
bool containsMobility (const double value) const
 is value within [min, max]? More...
 
bool containsMobility (const RangeBase &inner_range) const
 is the range inner_range within [min, max] of this range? More...
 
 RangeBase ()=default
 C'tor: initialize with empty range. More...
 
 RangeBase (const double min, const double max)
 
 RangeBase (const RangeBase &rhs)=default
 Copy C'tor. More...
 
 RangeBase (RangeBase &&rhs) noexcept=default
 Move C'tor (seems useless, but is required for completeness in derived classes' move c'tor) More...
 
Accessors for min and max

We use accessors, to keep range consistent (i.e. ensure that min <= max)

void setMinMobility (const double min)
 sets the minimum (and the maximum, if uninitialized) More...
 
void setMaxMobility (const double max)
 sets the maximum (and the minimum, if uninitialized) More...
 
double getMinMobility () const
 only useful if isEmpty() returns false More...
 
double getMaxMobility () const
 only useful if isEmpty() returns false More...
 
- Public Member Functions inherited from RangeBase
 RangeBase ()=default
 C'tor: initialize with empty range. More...
 
 RangeBase (const double min, const double max)
 
 RangeBase (const RangeBase &rhs)=default
 Copy C'tor. More...
 
 RangeBase (RangeBase &&rhs) noexcept=default
 Move C'tor (seems useless, but is required for completeness in derived classes' move c'tor) More...
 
RangeBaseoperator= (const RangeBase &rhs)=default
 Assignment operator. More...
 
RangeBaseoperator= (RangeBase &&rhs) noexcept=default
 Move assignment (seems useless, but is required for completeness in derived classes' move c'tor) More...
 
 ~RangeBase () noexcept=default
 D'tor. More...
 
 operator RangeRT () const
 conversion operator to allow accepting a RangeBase (instead of RangeRT) for the implicitly defined special members, e.g. assignment operator (RangeRT& operator=(const RangeRT&)) More...
 
 operator RangeMZ () const
 conversion operator to allow accepting a RangeBase (instead of RangeMZ) for the implicitly defined special members, e.g. assignment operator (RangeMZ& operator=(const RangeMZ&)) More...
 
 operator RangeIntensity () const
 conversion operator to allow accepting a RangeBase (instead of RangeIntensity) for the implicitly defined special members, e.g. assignment operator (RangeIntensity& operator=(const RangeIntensity&)) More...
 
 operator RangeMobility () const
 conversion operator to allow accepting a RangeBase (instead of RangeMobility) for the implicitly defined special members, e.g. assignment operator (RangeMobility& operator=(const RangeMobility&)) More...
 
void clear ()
 make the range empty, i.e. isEmpty() will be true More...
 
bool isEmpty () const
 is the range empty (i.e. min > max)? More...
 
bool contains (const double value) const
 is value within [min, max]? More...
 
bool contains (const RangeBase &inner_range) const
 is the range inner_range within [min, max]? More...
 
void extend (const RangeBase &other)
 ensure the range includes the range of other More...
 
void extend (const double value)
 extend the range such that it includes the given value More...
 
void extendLeftRight (const double by)
 
void minSpanIfSingular (const double min_span)
 If the current range is a single point, e.g. min==max, then extend the range by min_span / 2 on either side. More...
 
void clampTo (const RangeBase &other)
 
void pushInto (const RangeBase &sandbox)
 
void scaleBy (const double factor)
 Scale the range of the dimension by a factor. A factor > 1 increases the range; factor < 1 decreases it. More...
 
void shift (const double distance)
 
double center () const
 
double getSpan () const
 
bool operator== (const RangeBase &rhs) const
 
std::pair< double, double > getNonEmptyRange () const
 Return the current range, or (if empty) a full range (-1e308, 1e308). More...
 
void setMin (const double min)
 sets the minimum (and the maximum, if uninitialized) More...
 
void setMax (const double max)
 sets the maximum (and the minimum, if uninitialized) More...
 
double getMin () const
 only useful if isEmpty() returns false More...
 
double getMax () const
 only useful if isEmpty() returns false More...
 

Static Public Attributes

static const MSDim DIM = MSDim::IM
 

Additional Inherited Members

- Protected Attributes inherited from RangeBase
double min_ = std::numeric_limits<double>::max()
 
double max_ = std::numeric_limits<double>::lowest()
 

Member Function Documentation

◆ containsMobility() [1/2]

bool containsMobility ( const double  value) const
inline

is value within [min, max]?

References RangeBase::contains().

◆ containsMobility() [2/2]

bool containsMobility ( const RangeBase inner_range) const
inline

is the range inner_range within [min, max] of this range?

References RangeBase::contains().

◆ extendMobility()

void extendMobility ( const double  value)
inline

extend the range such that it includes the given value

◆ getMaxMobility()

double getMaxMobility ( ) const
inline

only useful if isEmpty() returns false

◆ getMinMobility()

double getMinMobility ( ) const
inline

only useful if isEmpty() returns false

◆ RangeBase() [1/4]

RangeBase
default

C'tor: initialize with empty range.

◆ RangeBase() [2/4]

RangeBase
inline

Custom C'tor to set min and max

Exceptions
Exception::InvalidRangeif min > max

◆ RangeBase() [3/4]

RangeBase
default

Copy C'tor.

◆ RangeBase() [4/4]

RangeBase
defaultnoexcept

Move C'tor (seems useless, but is required for completeness in derived classes' move c'tor)

◆ setMaxMobility()

void setMaxMobility ( const double  max)
inline

sets the maximum (and the minimum, if uninitialized)

◆ setMinMobility()

void setMinMobility ( const double  min)
inline

sets the minimum (and the maximum, if uninitialized)

Member Data Documentation

◆ DIM

const MSDim DIM = MSDim::IM
static