Handles decomposing of non-integer values/masses over a set of non-integer weights with an error allowed. More...
#include <OpenMS/CHEMISTRY/MASSDECOMPOSITION/IMS/RealMassDecomposer.h>
Public Types | |
| typedef IntegerMassDecomposer | integer_decomposer_type |
| Type of integer decomposer. More... | |
| typedef integer_decomposer_type::value_type | integer_value_type |
| Type of integer values that are decomposed. More... | |
| typedef integer_decomposer_type::decompositions_type | decompositions_type |
| Type of result decompositions from integer decomposer. More... | |
| typedef unsigned long long | number_of_decompositions_type |
| Type of the number of decompositions. More... | |
| typedef std::map< unsigned int, std::pair< unsigned int, unsigned int > > | constraints_type |
Public Member Functions | |
| RealMassDecomposer (const Weights &weights) | |
| decompositions_type | getDecompositions (double mass, double error) |
| decompositions_type | getDecompositions (double mass, double error, const constraints_type &constraints) |
| number_of_decompositions_type | getNumberOfDecompositions (double mass, double error) |
Private Attributes | |
| Weights | weights_ |
| Weights over which values/masses to be decomposed. More... | |
| std::pair< double, double > | rounding_errors_ |
| Minimal and maximal rounding errors. More... | |
| double | precision_ |
| Precision to scale double values to integer. More... | |
| std::auto_ptr < integer_decomposer_type > | decomposer_ |
Handles decomposing of non-integer values/masses over a set of non-integer weights with an error allowed.
Implements a decomposition of non-integer values with a certain error allowed. Exactness of decomposition can also be tuned by setting a precision factor for weights defining their scaling magnitude.
Works in fact as a wrapper for classes that handle exact mass decomposing using integer arithmetics. Instead of decomposing a single value as done by integer mass decomposers, RealMassDecomposer defines a set of values that lie in the allowed range (defined by error and false negatives appeared due to rounding), scales those to integers, decomposes them using IntegerMassDecomposer, does some checks (i.e. on false positives appeared due to rounding) and collects decompositions together.
| typedef std::map<unsigned int, std::pair<unsigned int, unsigned int> > constraints_type |
Type of result decompositions from integer decomposer.
Type of integer decomposer.
Type of integer values that are decomposed.
| typedef unsigned long long number_of_decompositions_type |
Type of the number of decompositions.
|
explicit |
Constructor with weights.
| weights | Weights over which values/masses to be decomposed. |
| decompositions_type getDecompositions | ( | double | mass, |
| double | error | ||
| ) |
Gets all decompositions for a mass with an error allowed.
| mass | Mass to be decomposed. |
| error | Error allowed between given and result decomposition. |
| decompositions_type getDecompositions | ( | double | mass, |
| double | error, | ||
| const constraints_type & | constraints | ||
| ) |
| number_of_decompositions_type getNumberOfDecompositions | ( | double | mass, |
| double | error | ||
| ) |
Gets a number of all decompositions for a mass with an error allowed. It's similar to the getDecompositions(double,double) function but less space consuming, since doesn't use container to store decompositions.
| mass | Mass to be decomposed. |
| error | Error allowed between given and result decomposition. |
|
private |
Decomposer to be used for exact decomposing using integer arithmetics.
|
private |
Precision to scale double values to integer.
| OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:37 using doxygen 1.8.5 |