OpenMS
Loading...
Searching...
No Matches
Sample.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Marc Sturm $
7// --------------------------------------------------------------------------
8
9#pragma once
10
15
16namespace OpenMS
17{
28 class OPENMS_DLLAPI Sample :
30 {
31public:
33 enum SampleState {SAMPLENULL, SOLID, LIQUID, GAS, SOLUTION, EMULSION, SUSPENSION, SIZE_OF_SAMPLESTATE};
35 static const std::string NamesOfSampleState[SIZE_OF_SAMPLESTATE];
36
39
42 static const std::string& sampleStateToString(SampleState state);
43
46 static SampleState toSampleState(const std::string& name);
47
51 Sample(const Sample & source);
53 Sample(Sample&&) = default;
56
58 Sample & operator=(const Sample & source);
60 Sample& operator=(Sample&&) & = default;
61
63 bool operator==(const Sample & rhs) const;
64
66 const String & getName() const;
68 void setName(const String & name);
69
71 const String & getOrganism() const;
73 void setOrganism(const String & organism);
74
76 const String & getNumber() const;
78 void setNumber(const String & number);
79
81 const String & getComment() const;
83 void setComment(const String & comment);
84
88 void setState(SampleState state);
89
91 double getMass() const;
93 void setMass(double mass);
94
96 double getVolume() const;
98 void setVolume(double volume);
99
101 double getConcentration() const;
103 void setConcentration(double concentration);
104
106 std::vector<Sample> & getSubsamples();
108 const std::vector<Sample> & getSubsamples() const;
110 void setSubsamples(const std::vector<Sample> & subsamples);
111
112protected:
118 double mass_;
119 double volume_;
121 std::vector<Sample> subsamples_;
122 };
123} // namespace OpenMS
124
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition MetaInfoInterface.h:36
Meta information about the sample.
Definition Sample.h:30
String comment_
Definition Sample.h:115
void setOrganism(const String &organism)
sets the sample name
bool operator==(const Sample &rhs) const
Equality operator.
double mass_
Definition Sample.h:118
void setComment(const String &comment)
sets the comment (may contain newline characters)
double getConcentration() const
returns the concentration (in g/l) (default: 0.0)
const String & getNumber() const
returns the sample number (default: "")
void setConcentration(double concentration)
sets the concentration (in g/l)
static SampleState toSampleState(const std::string &name)
String number_
Definition Sample.h:114
SampleState
state of aggregation of the sample
Definition Sample.h:33
@ EMULSION
Definition Sample.h:33
Sample & operator=(Sample &&) &=default
Move assignment operator.
String name_
Definition Sample.h:113
std::vector< Sample > & getSubsamples()
returns a mutable reference to the vector of subsamples that were combined to create this sample
Sample(const Sample &source)
Copy constructor.
double concentration_
Definition Sample.h:120
const std::vector< Sample > & getSubsamples() const
returns a const reference to the vector of subsamples that were combined to create this sample
Sample(Sample &&)=default
Move constructor.
void setName(const String &name)
sets the sample name
String organism_
Definition Sample.h:116
const String & getComment() const
returns the comment (default: "")
void setState(SampleState state)
sets the state of aggregation
double getVolume() const
returns the volume (in ml) (default: 0.0)
const String & getOrganism() const
returns the sample name (default: "")
~Sample()
Destructor.
const String & getName() const
returns the sample name (default: "")
void setNumber(const String &number)
sets the sample number (e.g. sample ID)
void setMass(double mass)
sets the mass (in gram)
Sample & operator=(const Sample &source)
Assignment operator.
void setVolume(double volume)
sets the volume (in ml)
static StringList getAllNamesOfSampleState()
returns all sample state names known to OpenMS
static const std::string & sampleStateToString(SampleState state)
SampleState getState() const
returns the state of aggregation (default: SAMPLENULL)
SampleState state_
Definition Sample.h:117
Sample()
Default constructor.
double volume_
Definition Sample.h:119
double getMass() const
returns the mass (in gram) (default: 0.0)
std::vector< Sample > subsamples_
Definition Sample.h:121
void setSubsamples(const std::vector< Sample > &subsamples)
sets the vector of subsamples that were combined to create this sample
A more convenient string class.
Definition String.h:34
std::vector< String > StringList
Vector of String.
Definition ListUtils.h:44
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19