Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_METADATA_SAMPLE_H
00036 #define OPENMS_METADATA_SAMPLE_H
00037
00038 #include <list>
00039
00040 #include <OpenMS/DATASTRUCTURES/String.h>
00041 #include <OpenMS/METADATA/MetaInfoInterface.h>
00042 #include <OpenMS/CONCEPT/Exception.h>
00043
00044 namespace OpenMS
00045 {
00046 class SampleTreatment;
00047
00060 class OPENMS_DLLAPI Sample :
00061 public MetaInfoInterface
00062 {
00063 public:
00065 enum SampleState {SAMPLENULL, SOLID, LIQUID, GAS, SOLUTION, EMULSION, SUSPENSION, SIZE_OF_SAMPLESTATE};
00067 static const std::string NamesOfSampleState[SIZE_OF_SAMPLESTATE];
00068
00070 Sample();
00072 Sample(const Sample & source);
00074 ~Sample();
00075
00077 Sample & operator=(const Sample & source);
00078
00080 bool operator==(const Sample & rhs) const;
00081
00083 const String & getName() const;
00085 void setName(const String & name);
00086
00088 const String & getOrganism() const;
00090 void setOrganism(const String & organism);
00091
00093 const String & getNumber() const;
00095 void setNumber(const String & number);
00096
00098 const String & getComment() const;
00100 void setComment(const String & comment);
00101
00103 SampleState getState() const;
00105 void setState(SampleState state);
00106
00108 DoubleReal getMass() const;
00110 void setMass(DoubleReal mass);
00111
00113 DoubleReal getVolume() const;
00115 void setVolume(DoubleReal volume);
00116
00118 DoubleReal getConcentration() const;
00120 void setConcentration(DoubleReal concentration);
00121
00123 std::vector<Sample> & getSubsamples();
00125 const std::vector<Sample> & getSubsamples() const;
00127 void setSubsamples(const std::vector<Sample> & subsamples);
00128
00134 void addTreatment(const SampleTreatment & treatment, Int before_position = -1);
00140 SampleTreatment & getTreatment(UInt position);
00146 const SampleTreatment & getTreatment(UInt position) const;
00152 void removeTreatment(UInt position);
00154 Int countTreatments() const;
00155
00156 protected:
00157 String name_;
00158 String number_;
00159 String comment_;
00160 String organism_;
00161 SampleState state_;
00162 DoubleReal mass_;
00163 DoubleReal volume_;
00164 DoubleReal concentration_;
00165 std::vector<Sample> subsamples_;
00166 std::list<SampleTreatment *> treatments_;
00167
00168 };
00169 }
00170
00171 #endif // OPENMS_METADATA_SAMPLE_H