Home
·
Classes
·
Annotated Classes
·
Modules
·
Members
·
Namespaces
·
Related Pages
include
OpenMS
DATASTRUCTURES
Adduct.h
Go to the documentation of this file.
1
// --------------------------------------------------------------------------
2
// OpenMS -- Open-Source Mass Spectrometry
3
// --------------------------------------------------------------------------
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
6
//
7
// This software is released under a three-clause BSD license:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of any author or any participating institution
14
// may be used to endorse or promote products derived from this software
15
// without specific prior written permission.
16
// For a full list of authors, refer to the file AUTHORS.
17
// --------------------------------------------------------------------------
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
//
30
// --------------------------------------------------------------------------
31
// $Maintainer: Chris Bielow $
32
// $Authors: $
33
// --------------------------------------------------------------------------
34
35
#ifndef OPENMS_DATASTRUCTURES_ADDUCT_H
36
#define OPENMS_DATASTRUCTURES_ADDUCT_H
37
38
39
#include <
OpenMS/CONCEPT/Types.h
>
40
#include <
OpenMS/DATASTRUCTURES/String.h
>
41
#include <
OpenMS/CHEMISTRY/EmpiricalFormula.h
>
42
43
namespace
OpenMS
44
{
45
46
class
OPENMS_DLLAPI
Adduct
47
{
48
public
:
49
50
typedef
std::vector<Adduct>
AdductsType
;
51
53
Adduct
();
54
56
Adduct
(
Int
charge);
57
59
Adduct
(
Int
charge,
Int
amount,
DoubleReal
singleMass,
String
formula,
DoubleReal
log_prob,
DoubleReal
rt_shift,
const
String
label =
""
);
60
62
Adduct
operator*
(
const
Int
m)
const
;
64
Adduct
operator+(
const
Adduct
& rhs);
66
void
operator+=(
const
Adduct
& rhs);
67
68
70
friend
OPENMS_DLLAPI std::ostream &
operator<<
(std::ostream & os,
const
Adduct
& a);
71
73
friend
OPENMS_DLLAPI
bool
operator==(
const
Adduct
& a,
const
Adduct
& b);
74
76
const
Int
& getCharge()
const
;
77
78
void
setCharge(
const
Int
& charge);
79
80
const
Int
& getAmount()
const
;
81
void
setAmount(
const
Int
& amount);
82
83
const
DoubleReal
& getSingleMass()
const
;
84
void
setSingleMass(
const
DoubleReal
& singleMass);
85
86
const
DoubleReal
& getLogProb()
const
;
87
void
setLogProb(
const
DoubleReal
& log_prob);
88
89
const
String
& getFormula()
const
;
90
void
setFormula(
const
String
& formula);
91
92
const
DoubleReal
& getRTShift()
const
;
93
const
String
& getLabel()
const
;
94
//}
95
96
private
:
97
Int
charge_
;
//< usually +1
98
Int
amount_
;
//< number of entities
99
DoubleReal
singleMass_
;
//< mass of a single entity
100
DoubleReal
log_prob_
;
//< log probability of observing a single entity of this adduct
101
String
formula_
;
//< chemical formula (parsable by EmpiricalFormula)
102
DoubleReal
rt_shift_
;
//< RT shift induced by a single entity of this adduct (this is for adducts attached prior to ESI, e.g. labeling)
103
String
label_
;
//< Label for this adduct (can be used to indicate heavy labels)
104
105
String
checkFormula_(
const
String
& formula);
106
107
};
108
109
}
// namespace OpenMS
110
111
112
#endif
OpenMS::Adduct::singleMass_
DoubleReal singleMass_
Definition:
Adduct.h:99
Types.h
EmpiricalFormula.h
OpenMS::String
A more convenient string class.
Definition:
String.h:56
OpenMS::Adduct::charge_
Int charge_
Definition:
Adduct.h:97
OpenMS::operator<<
std::ostream & operator<<(std::ostream &os, const ItraqQuantifier::ItraqQuantifierStats &stats)
double
OpenMS::Adduct::label_
String label_
Definition:
Adduct.h:103
OpenMS::Adduct::rt_shift_
DoubleReal rt_shift_
Definition:
Adduct.h:102
OpenMS::Adduct::AdductsType
std::vector< Adduct > AdductsType
Definition:
Adduct.h:50
OpenMS::Adduct::log_prob_
DoubleReal log_prob_
Definition:
Adduct.h:100
OpenMS::Adduct::amount_
Int amount_
Definition:
Adduct.h:98
OpenMS::Adduct
Definition:
Adduct.h:46
OpenMS::operator*
DPosition< D, TCoordinateType > operator*(DPosition< D, TCoordinateType > position, typename DPosition< D, TCoordinateType >::CoordinateType scalar)
Scalar multiplication (a bit inefficient)
Definition:
DPosition.h:415
OpenMS::Adduct::formula_
String formula_
Definition:
Adduct.h:101
OpenMS::Int
int Int
Signed integer type.
Definition:
Types.h:100
String.h
OpenMS / TOPP release 1.11.1
Documentation generated on Thu Nov 14 2013 11:19:11 using doxygen 1.8.5