Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

ExperimentalSettings.h (Maintainer: Marc Sturm)

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // --------------------------------------------------------------------------
00005 //                   OpenMS Mass Spectrometry Framework
00006 // --------------------------------------------------------------------------
00007 //  Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert
00008 //
00009 //  This library is free software; you can redistribute it and/or
00010 //  modify it under the terms of the GNU Lesser General Public
00011 //  License as published by the Free Software Foundation; either
00012 //  version 2.1 of the License, or (at your option) any later version.
00013 // 
00014 //  This library is distributed in the hope that it will be useful,
00015 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 //  Lesser General Public License for more details.
00018 //
00019 //  You should have received a copy of the GNU Lesser General Public
00020 //  License along with this library; if not, write to the Free Software
00021 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 //
00023 // --------------------------------------------------------------------------
00024 // $Maintainer: Marc Sturm $
00025 // --------------------------------------------------------------------------
00026 
00027 #ifndef OPENMS_METADATA_EXPERIMENTALSETTINGS_H
00028 #define OPENMS_METADATA_EXPERIMENTALSETTINGS_H
00029 
00030 #include <OpenMS/METADATA/Sample.h>
00031 #include <OpenMS/METADATA/Software.h>
00032 #include <OpenMS/METADATA/ProcessingMethod.h>
00033 #include <OpenMS/METADATA/MetaInfoInterface.h>
00034 #include <OpenMS/METADATA/HPLC.h>
00035 #include <OpenMS/METADATA/SourceFile.h>
00036 #include <OpenMS/METADATA/ContactPerson.h>
00037 #include <OpenMS/METADATA/Instrument.h>
00038 #include <OpenMS/METADATA/ProteinIdentification.h>
00039 #include <OpenMS/DATASTRUCTURES/Date.h>
00040 
00041 #include <vector>
00042 
00043 namespace OpenMS 
00044 {
00053   class ExperimentalSettings
00054     : public MetaInfoInterface
00055   {
00056     public:
00058       enum ExperimentType 
00059       {
00060         UNKNOWN, 
00061         MS, 
00062         MS_MS, 
00063         HPLC_MS, 
00064         HPLC_MS_MS, 
00065         SIZE_OF_EXPERIMENTTYPE 
00066       };
00068       static const std::string NamesOfExperimentType[SIZE_OF_EXPERIMENTTYPE];
00069       
00071       ExperimentalSettings();
00073       ExperimentalSettings(const ExperimentalSettings& source);
00075       ~ExperimentalSettings();
00076       
00078       ExperimentalSettings& operator= (const ExperimentalSettings& source);
00079 
00081       bool operator== (const ExperimentalSettings& rhs) const;      
00083       bool operator!= (const ExperimentalSettings& rhs) const;
00084 
00086       const Sample& getSample() const;
00088       Sample& getSample();
00090       void setSample(const Sample& sample);
00091       
00093       const SourceFile& getSourceFile() const;
00095       SourceFile& getSourceFile();
00097       void setSourceFile(const SourceFile& source_file);
00098       
00100       const std::vector<ContactPerson>& getContacts() const;
00102       std::vector<ContactPerson>& getContacts();
00104       void setContacts(const std::vector<ContactPerson>& contacts);
00105       
00107       const Instrument& getInstrument() const;
00109       Instrument& getInstrument();
00111       void setInstrument(const Instrument& instrument);
00112       
00114       const Software& getSoftware() const;
00116       Software& getSoftware();
00118       void setSoftware(const Software& software);
00119       
00121       const ProcessingMethod& getProcessingMethod() const;
00123       ProcessingMethod& getProcessingMethod();
00125       void setProcessingMethod(const ProcessingMethod& processing_method);
00126 
00128       const HPLC& getHPLC() const;
00130       HPLC& getHPLC();
00132       void setHPLC(const HPLC& hplc);
00133 
00135       ExperimentType getType() const;
00137       void setType(ExperimentType type);
00138 
00140       const Date& getDate() const;
00142       void setDate(const Date& date);   
00143 
00145       const String& getComment() const;
00147       void setComment(const String& comment);
00148 
00150       const std::vector<ProteinIdentification>& getProteinIdentifications() const;              
00152       std::vector<ProteinIdentification>& getProteinIdentifications();      
00154       void setProteinIdentifications(const std::vector<ProteinIdentification>& protein_identifications);
00156       void addProteinIdentification(ProteinIdentification& protein_identification);
00157 
00158     protected:
00159       Sample sample_;
00160       SourceFile source_file_;
00161       std::vector<ContactPerson> contacts_;
00162       Instrument instrument_;
00163       Software software_;
00164       ProcessingMethod processing_method_;
00165       HPLC hplc_;
00166       ExperimentType type_;
00167       Date date_;
00168       String comment_;
00169       std::vector<ProteinIdentification> protein_identifications_;
00170   };
00171 
00173   std::ostream& operator << (std::ostream& os, const ExperimentalSettings& exp);
00174 
00175 } // namespace OpenMS
00176 
00177 #endif // OPENMS_METADATA_EXPERIMENTALSETTINGS_H

Generated Tue Apr 1 15:36:34 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1