Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
Chromatogram.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_CHROMATOGRAM_H__
13 #define __KOME_OBJECTS_CHROMATOGRAM_H__
14 
15 
16 #include "DataObjectsCommon.h"
17 
18 #include <vector>
19 
20 
21 namespace kome {
22  namespace objects {
23 
24  class Sample;
25  class DataGroupNode;
26  class Spectrum;
27  class DataSet;
28 
33  class DATA_OBJECTS_CLASS Chromatogram {
34  public:
40  Chromatogram( Sample* sample );
41 
46  virtual ~Chromatogram();
47 
48  protected:
51 
54 
56  std::string m_name;
57 
59  double m_mz;
60 
62  std::string m_icon;
63 
65  std::string m_title;
66 
69 
72 
75 
77  bool m_visible;
78 
81 
83  bool m_op;
84 
86  int m_chromId;
87 
89  double m_q1;
90 
92  double m_q3;
93 
94  protected:
96  static std::vector< std::string > m_commonProps;
97 
98  public:
104  void setOperationFlag( const bool op ){ m_op = op; }
105 
111  bool getOperationFlag(){ return m_op; }
112  public:
118  void setId( int id );
119 
125  int getId();
126  public:
132  Sample* getSample();
133 
139  void setName( const char* name );
140 
146  const char* getName();
147 
153  void setMz( const double mz );
154 
160  double getMz();
161 
167  void setGroup( DataGroupNode* group );
168 
174  DataGroupNode* getGroup();
175 
181  void setIcon( const char* icon );
182 
188  const char* getIcon();
189 
195  void setTitle( const char* title );
196 
202  const char* getTitle();
203 
209  kome::core::Properties& getProperties();
210 
216  kome::core::Properties& getUserProperties();
217 
223  void setAutoCreated( const bool autoCreated = true );
224 
230  bool isAutoCreated();
231 
237  void setVisible( const bool visible );
238 
244  bool isVisible();
245 
251  void setOrgChromatogram( Chromatogram* chrom );
252 
258  Chromatogram* getOrgChromatogram();
259 
260  public:
266  void setQ1( const double q1 );
267 
273  double getQ1();
274 
280  void setQ3( const double q3 );
281 
287  double getQ3();
288 
289  public:
295  kome::core::XYData* getXYData();
296 
301  void deleteXYData();
302 
309  void getXYData( kome::core::XYData* const xyData, const bool op );
310 
311  public:
319  Spectrum* searchSpectrum( const double rt, const SearchType search = SEARCH_NEAR );
320 
336  void getSpectra(
337  DataSet& dataSet,
338  const double startRt,
339  const double endRt,
340  const SearchType startSearch = SEARCH_NEAR,
341  const SearchType endSearch = SEARCH_NEAR
342  );
343 
350  double getMass( const unsigned int index );
351 
358  int getMsStage( const unsigned int index );
359 
366  double getPrecursor( const unsigned int index );
367 
368  public:
374  void getProperties( kome::core::Properties& properties );
375 
381  void getUserProperties( kome::core::Properties& userProperties );
382 
383  public:
390  static bool isCommonProperty( const char* key );
391 
392  protected:
398  virtual void onGetXYData( kome::core::XYData* const xyData ) = 0;
399 
415  virtual void onGetSpectra(
416  DataSet& dataSet,
417  const double startRt,
418  const double endRt,
419  const SearchType startSearch,
420  const SearchType endSearch
421  ) = 0;
422 
429  virtual double onGetMass( const unsigned int index ) = 0;
430 
437  virtual int onGetMsStage( const unsigned int index ) = 0;
438 
445  virtual double onGetPrecursor( const unsigned int index ) = 0;
446  };
447  }
448 }
449 
450 #endif // __KOME_OBJECTS_CHROMATOGRAM_H__
abstraction class of two dimention coordinate data
Definition: XYData.h:34
group of spectrum management class
Definition: DataGroupNode.h:33
DataObjects library common type.
sample information management class
Definition: Sample.h:34
keys and values management class
Definition: Properties.h:29
static std::vector< std::string > m_commonProps
Definition: Chromatogram.h:96
void setOperationFlag(const bool op)
sets the operation flag value
Definition: Chromatogram.h:104
kome::core::Properties m_userProps
Definition: Chromatogram.h:71
SearchType
search type
bool getOperationFlag()
gets the operation flag value
Definition: Chromatogram.h:111
spectrum information management class
Definition: Spectrum.h:30
one or more spectra management class
Definition: DataSet.h:31
kome::core::Properties m_props
Definition: Chromatogram.h:68
chromatogram information management class
Definition: Chromatogram.h:33