3
<TITLE>MassDecomposer< ValueType, DecompositionValueType > Class Template Reference</TITLE>
4
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
5
<LINK HREF="style_ini.css" REL="stylesheet" TYPE="text/css">
7
<BODY BGCOLOR="#FFFFFF">
8
<A href="index.html">Home</A> ·
9
<A href="classes.html">Classes</A> ·
10
<A href="annotated.html">Annotated Classes</A> ·
11
<A href="modules.html">Modules</A> ·
12
<A href="functions_func.html">Members</A> ·
13
<A href="namespaces.html">Namespaces</A> ·
14
<A href="pages.html">Related Pages</A>
15
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
16
<!-- Generated by Doxygen 1.8.5 -->
17
<div id="nav-path" class="navpath">
19
<li class="navelem"><a class="el" href="namespaceOpenMS.html">OpenMS</a></li><li class="navelem"><a class="el" href="namespaceOpenMS_1_1ims.html">ims</a></li><li class="navelem"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html">MassDecomposer</a></li> </ul>
24
<a href="#pub-types">Public Types</a> |
25
<a href="#pub-methods">Public Member Functions</a> |
26
<a href="classOpenMS_1_1ims_1_1MassDecomposer-members.html">List of all members</a> </div>
27
<div class="headertitle">
28
<div class="title">MassDecomposer< ValueType, DecompositionValueType > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
30
<div class="contents">
32
<p>An inteface to handle decomposing of integer values/masses over a set of integer weights (alphabet).
33
<a href="classOpenMS_1_1ims_1_1MassDecomposer.html#details">More...</a></p>
35
<p><code>#include <<a class="el" href="MassDecomposer_8h_source.html">OpenMS/CHEMISTRY/MASSDECOMPOSITION/IMS/MassDecomposer.h</a>></code></p>
36
<div class="dynheader">
37
Inheritance diagram for MassDecomposer< ValueType, DecompositionValueType >:</div>
38
<div class="dyncontent">
40
<img src="classOpenMS_1_1ims_1_1MassDecomposer.png" usemap="#MassDecomposer< ValueType, DecompositionValueType >_map" alt=""/>
41
<map id="MassDecomposer< ValueType, DecompositionValueType >_map" name="MassDecomposer< ValueType, DecompositionValueType >_map">
42
<area href="classOpenMS_1_1ims_1_1IntegerMassDecomposer.html" title="Implements MassDecomposer interface using algorithm and data structures described in paper "Efficient..." alt="IntegerMassDecomposer< ValueType, DecompositionValueType >" shape="rect" coords="0,56,389,80"/>
45
<table class="memberdecls">
46
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
47
Public Types</h2></td></tr>
48
<tr class="memitem:a7e925095614a18db84f21a0de507edb5"><td class="memItemLeft" align="right" valign="top">typedef ValueType </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a></td></tr>
49
<tr class="separator:a7e925095614a18db84f21a0de507edb5"><td class="memSeparator" colspan="2"> </td></tr>
50
<tr class="memitem:a7346a87f8ad822456061ff74cbaffa3b"><td class="memItemLeft" align="right" valign="top">typedef DecompositionValueType </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a></td></tr>
51
<tr class="separator:a7346a87f8ad822456061ff74cbaffa3b"><td class="memSeparator" colspan="2"> </td></tr>
52
<tr class="memitem:ad16c2b9e2e514b3fa56f73f3fb95b2b5"><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
53
< <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a></td></tr>
54
<tr class="separator:ad16c2b9e2e514b3fa56f73f3fb95b2b5"><td class="memSeparator" colspan="2"> </td></tr>
55
<tr class="memitem:aa2fe611aa3c8baa38be4ee3ddfa2d524"><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
56
< <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#aa2fe611aa3c8baa38be4ee3ddfa2d524">decompositions_type</a></td></tr>
57
<tr class="separator:aa2fe611aa3c8baa38be4ee3ddfa2d524"><td class="memSeparator" colspan="2"> </td></tr>
58
</table><table class="memberdecls">
59
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
60
Public Member Functions</h2></td></tr>
61
<tr class="memitem:a8c974cf8f3ade06e2840ee7728bac9a5"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a8c974cf8f3ade06e2840ee7728bac9a5">~MassDecomposer</a> ()</td></tr>
62
<tr class="separator:a8c974cf8f3ade06e2840ee7728bac9a5"><td class="memSeparator" colspan="2"> </td></tr>
63
<tr class="memitem:a028724be9d84a1f492dc5496fddc55c0"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a028724be9d84a1f492dc5496fddc55c0">exist</a> (<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> mass)=0</td></tr>
64
<tr class="separator:a028724be9d84a1f492dc5496fddc55c0"><td class="memSeparator" colspan="2"> </td></tr>
65
<tr class="memitem:a1680ab02b48557077a890c601099a0f5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a1680ab02b48557077a890c601099a0f5">getDecomposition</a> (<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> mass)=0</td></tr>
66
<tr class="separator:a1680ab02b48557077a890c601099a0f5"><td class="memSeparator" colspan="2"> </td></tr>
67
<tr class="memitem:a922ed56cc14234f7f6f12835df45724e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#aa2fe611aa3c8baa38be4ee3ddfa2d524">decompositions_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a922ed56cc14234f7f6f12835df45724e">getAllDecompositions</a> (<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> mass)=0</td></tr>
68
<tr class="separator:a922ed56cc14234f7f6f12835df45724e"><td class="memSeparator" colspan="2"> </td></tr>
69
<tr class="memitem:a6170b130bd0bcb1fc159deacbfb0963c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a6170b130bd0bcb1fc159deacbfb0963c">getNumberOfDecompositions</a> (<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> mass)=0</td></tr>
70
<tr class="separator:a6170b130bd0bcb1fc159deacbfb0963c"><td class="memSeparator" colspan="2"> </td></tr>
72
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
73
<div class="textblock"><h3>template<typename ValueType, typename DecompositionValueType><br/>
74
class OpenMS::ims::MassDecomposer< ValueType, DecompositionValueType ></h3>
76
<p>An inteface to handle decomposing of integer values/masses over a set of integer weights (alphabet). </p>
77
<p>An interface that addresses the following "mass decomposition" problems:</p>
79
<li>Existence Problem (whether the decomposition of the given mass exists),</li>
80
<li>One Decomposition Problem (returns one possible decomposition),</li>
81
<li>All Decompositions Problem (returns all possible decompositions),</li>
82
<li>Number of Decompositions Problem (returns the number of possible decompositions).</li>
84
<p>Those problems are solved in integer arithmetics, i.e. only exact solutions are found with no error allowed.</p>
85
<dl class="params"><dt>Parameters</dt><dd>
86
<table class="params">
87
<tr><td class="paramname">ValueType</td><td>Type of values to be decomposed. </td></tr>
88
<tr><td class="paramname">DecompositionValueType</td><td>Type of decomposition elements.</td></tr>
92
<dl class="section author"><dt>Author</dt><dd>Anton Pervukhin <a href="#" onclick="location.href='mai'+'lto:'+'Ant'+'on'+'.Pe'+'rv'+'ukh'+'in'+'@Ce'+'Bi'+'Tec'+'.U'+'ni-'+'Bi'+'ele'+'fe'+'ld.'+'DE'; return false;">Anton<span style="display: none;">.nosp@m.</span>.Per<span style="display: none;">.nosp@m.</span>vukhi<span style="display: none;">.nosp@m.</span>n@Ce<span style="display: none;">.nosp@m.</span>BiTec<span style="display: none;">.nosp@m.</span>.Uni<span style="display: none;">.nosp@m.</span>-Biel<span style="display: none;">.nosp@m.</span>efel<span style="display: none;">.nosp@m.</span>d.DE</a> </dd></dl>
93
</div><h2 class="groupheader">Member Typedef Documentation</h2>
94
<a class="anchor" id="ad16c2b9e2e514b3fa56f73f3fb95b2b5"></a>
96
<div class="memproto">
97
<table class="memname">
99
<td class="memname">typedef std::vector<<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a>> <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a></td>
102
</div><div class="memdoc">
103
<p>Type of decomposition container. </p>
107
<a class="anchor" id="a7346a87f8ad822456061ff74cbaffa3b"></a>
108
<div class="memitem">
109
<div class="memproto">
110
<table class="memname">
112
<td class="memname">typedef DecompositionValueType <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a></td>
115
</div><div class="memdoc">
116
<p>Type of decomposition value. </p>
120
<a class="anchor" id="aa2fe611aa3c8baa38be4ee3ddfa2d524"></a>
121
<div class="memitem">
122
<div class="memproto">
123
<table class="memname">
125
<td class="memname">typedef std::vector<<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a>> <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#aa2fe611aa3c8baa38be4ee3ddfa2d524">decompositions_type</a></td>
128
</div><div class="memdoc">
129
<p>Type of container for many decompositions. </p>
133
<a class="anchor" id="a7e925095614a18db84f21a0de507edb5"></a>
134
<div class="memitem">
135
<div class="memproto">
136
<table class="memname">
138
<td class="memname">typedef ValueType <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a></td>
141
</div><div class="memdoc">
142
<p>Type of value to be decomposed. </p>
146
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
147
<a class="anchor" id="a8c974cf8f3ade06e2840ee7728bac9a5"></a>
148
<div class="memitem">
149
<div class="memproto">
150
<table class="mlabels">
152
<td class="mlabels-left">
153
<table class="memname">
155
<td class="memname">virtual ~<a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html">MassDecomposer</a> </td>
157
<td class="paramname"></td><td>)</td>
162
<td class="mlabels-right">
163
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
166
</div><div class="memdoc">
167
<p>A virtual destructor. </p>
171
<h2 class="groupheader">Member Function Documentation</h2>
172
<a class="anchor" id="a028724be9d84a1f492dc5496fddc55c0"></a>
173
<div class="memitem">
174
<div class="memproto">
175
<table class="mlabels">
177
<td class="mlabels-left">
178
<table class="memname">
180
<td class="memname">virtual bool exist </td>
182
<td class="paramtype"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> </td>
183
<td class="paramname"><em>mass</em></td><td>)</td>
188
<td class="mlabels-right">
189
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
192
</div><div class="memdoc">
193
<p>Returns true if the decomposition for the given <code>mass</code> exists, otherwise - false.</p>
194
<dl class="params"><dt>Parameters</dt><dd>
195
<table class="params">
196
<tr><td class="paramname">mass</td><td>Mass to be checked on decomposing. </td></tr>
200
<dl class="section return"><dt>Returns</dt><dd>true, if the decomposition for <code>mass</code> exist, otherwise - false. </dd></dl>
202
<p>Implemented in <a class="el" href="classOpenMS_1_1ims_1_1IntegerMassDecomposer.html#ac3e4c66ba43e52eff0a75edeca5a54fd">IntegerMassDecomposer< ValueType, DecompositionValueType ></a>.</p>
206
<a class="anchor" id="a922ed56cc14234f7f6f12835df45724e"></a>
207
<div class="memitem">
208
<div class="memproto">
209
<table class="mlabels">
211
<td class="mlabels-left">
212
<table class="memname">
214
<td class="memname">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#aa2fe611aa3c8baa38be4ee3ddfa2d524">decompositions_type</a> getAllDecompositions </td>
216
<td class="paramtype"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> </td>
217
<td class="paramname"><em>mass</em></td><td>)</td>
222
<td class="mlabels-right">
223
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
226
</div><div class="memdoc">
227
<p>Returns all possible decompositions for the given <code>mass</code>.</p>
228
<dl class="params"><dt>Parameters</dt><dd>
229
<table class="params">
230
<tr><td class="paramname">mass</td><td>Mass to be decomposed. </td></tr>
234
<dl class="section return"><dt>Returns</dt><dd>All possible decompositions of the <code>mass</code>, if there are any exist, otherwise - an empty container. </dd></dl>
236
<p>Implemented in <a class="el" href="classOpenMS_1_1ims_1_1IntegerMassDecomposer.html#addaeefa17c7915094e26b3a2f564643a">IntegerMassDecomposer< ValueType, DecompositionValueType ></a>.</p>
240
<a class="anchor" id="a1680ab02b48557077a890c601099a0f5"></a>
241
<div class="memitem">
242
<div class="memproto">
243
<table class="mlabels">
245
<td class="mlabels-left">
246
<table class="memname">
248
<td class="memname">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#ad16c2b9e2e514b3fa56f73f3fb95b2b5">decomposition_type</a> getDecomposition </td>
250
<td class="paramtype"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> </td>
251
<td class="paramname"><em>mass</em></td><td>)</td>
256
<td class="mlabels-right">
257
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
260
</div><div class="memdoc">
261
<p>Returns one possible decomposition of the given <code>mass</code>.</p>
262
<dl class="params"><dt>Parameters</dt><dd>
263
<table class="params">
264
<tr><td class="paramname">mass</td><td>Mass to be decomposed. </td></tr>
268
<dl class="section return"><dt>Returns</dt><dd>The decomposition of the <code>mass</code>, if one exists, otherwise - an empty container. </dd></dl>
270
<p>Implemented in <a class="el" href="classOpenMS_1_1ims_1_1IntegerMassDecomposer.html#a156de4a736fd7cde318ab9da993a0d25">IntegerMassDecomposer< ValueType, DecompositionValueType ></a>.</p>
274
<a class="anchor" id="a6170b130bd0bcb1fc159deacbfb0963c"></a>
275
<div class="memitem">
276
<div class="memproto">
277
<table class="mlabels">
279
<td class="mlabels-left">
280
<table class="memname">
282
<td class="memname">virtual <a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7346a87f8ad822456061ff74cbaffa3b">decomposition_value_type</a> getNumberOfDecompositions </td>
284
<td class="paramtype"><a class="el" href="classOpenMS_1_1ims_1_1MassDecomposer.html#a7e925095614a18db84f21a0de507edb5">value_type</a> </td>
285
<td class="paramname"><em>mass</em></td><td>)</td>
290
<td class="mlabels-right">
291
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
294
</div><div class="memdoc">
295
<p>Returns the number of possible decompositions for the given <code>mass</code>.</p>
296
<dl class="params"><dt>Parameters</dt><dd>
297
<table class="params">
298
<tr><td class="paramname">mass</td><td>Mass to be decomposed. </td></tr>
302
<dl class="section return"><dt>Returns</dt><dd>The number of possible decompositions for the <code>mass</code>. </dd></dl>
304
<p>Implemented in <a class="el" href="classOpenMS_1_1ims_1_1IntegerMassDecomposer.html#a77703beb2bdc9ac53738efe778f4f9de">IntegerMassDecomposer< ValueType, DecompositionValueType ></a>.</p>
308
</div><!-- contents -->
309
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
310
<TABLE width="100%" border="0">
312
<TD><font color="#c0c0c0">OpenMS / TOPP release 1.11.1</font></TD>
313
<TD align="right"><font color="#c0c0c0">Documentation generated on Thu Nov 14 2013 11:19:37 using doxygen 1.8.5</font></TD>