Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
Spectrum.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_SPECTRUM_H__
13 #define __KOME_OBJECTS_SPECTRUM_H__
14 
15 
16 #include <string>
17 #include <boost/optional.hpp>
18 
19 
20 namespace kome {
21  namespace objects {
22 
23  class Sample;
24  class DataGroupNode;
25 
30  class DATA_OBJECTS_CLASS Spectrum {
31  public:
38  Spectrum( Sample* sample, const char* name );
39 
44  virtual ~Spectrum();
45 
46  public:
51  typedef enum {
52  POLARITY_UNKNOWN = 0,
53  POLARITY_POSITIVE = 1,
54  POLARITY_NEGATIVE = 2
55  } Polarity;
56 
57  protected:
62  struct PrecursorInfo {
63  int stage;
64  double precursor;
65  double intensity;
66  };
67 
68  private:
70  Sample* m_sample;
71 
73  std::string m_name;
74 
76  Spectrum* m_parentSpec;
77 
79  std::vector< Spectrum* > m_children;
80 
82  bool m_chrom;
83 
85  DataGroupNode* m_group;
86 
88  struct {
89  double start;
90  double end;
91  } m_rt;
92 
94  std::string m_icon;
95 
97  std::string m_specType;
98 
100  std::string m_title;
101 
103  boost::optional< double > m_minX;
104 
106  boost::optional< double > m_maxX;
107 
109  boost::optional< double > m_tic;
110 
112  boost::optional< double > m_bpi;
113 
115  double m_bpm;
116 
118  int m_msStage;
119 
121  std::vector< PrecursorInfo > m_precursor;
122 
124  int m_charge;
125 
127  int m_scanNumber;
128 
130  Polarity m_polarity;
131 
133  bool m_centroidMode;
134 
136  double m_resolution;
137 
139  std::string m_collisionEnergy;
140 
142  bool m_visible;
143 
145  kome::core::Properties m_props;
146 
148  kome::core::Properties m_userProps;
149 
151  bool m_autoZeroPoints;
152 
153  // >>>>>> @Date:2013/07/11 <Add> A.Ozaki
154 
156  std::string m_strSpotId;
157 
158  // <<<<<< @Date:2013/07/11 <Add> A.Ozaki
159 
160  protected:
163 
165  bool m_op;
166 
167  protected:
169  static std::vector< std::string > m_commonProps;
170 
172  int m_specId;
173 
174  public:
180  void setId( int id );
181 
187  int getId();
188 
189  public:
195  void setOperationFlag( const bool op ){ m_op = op; }
196 
202  bool getOperationFlag(){ return m_op; }
203  public:
209  Sample* getSample();
210 
216  void setName( const char* name );
217 
223  const char* getName();
224 
230  void setRt( const double rt );
231 
238  void setRt( const double startRt, const double endRt );
239 
245  void setStartRt( const double rt );
246 
252  void setEndRt( const double rt );
253 
259  double getRt();
260 
266  double getStartRt();
267 
273  double getEndRt();
274 
280  void setSpecType( const char* type );
281 
287  const char* getSpecType();
288 
294  void setTitle( const char* title );
295 
301  const char* getTitle();
302 
308  void setIcon( const char* icon );
309 
315  const char* getIcon();
316 
322  kome::core::XYData* getXYData();
323 
328  void deleteXYData();
329 
336  void getXYData( kome::core::XYData* const xyData, const bool op );
337 
346  void getXYData( kome::core::XYData* const xyData, const double minX, const double maxX, const bool zero );
347 
354  void setXRange( const double minX, const double maxX );
355 
361  void setMinX( const double minX );
362 
368  double getMinX();
369 
375  void setMaxX( const double maxX );
376 
382  double getMaxX();
383 
389  void setTotalIntensity( const double intensity );
390 
398  double getTotalIntensity( const double minX = -1.0, const double maxX = -1.0 );
399 
405  void setMaxIntensity( const double intensity );
406 
414  double getMaxIntensity( const double minX = -1.0, const double maxX = -1.0 );
415 
421  void setBasePeakMass( const double mass );
422 
428  double getBasePeakMass();
429 
435  void setMsStage( const int stage );
436 
442  int getMsStage();
443 
450  void setPrecursor( const int stage, const double precursor );
451 
457  void setPrecursor( const double precursor );
458 
465  double getPrecursor( const int stage );
466 
472  double getPrecursor();
473 
480  void setPrecursorIntensity( const int stage, const double intensity );
481 
487  void setPrecursorIntensity( const double intensity );
488 
495  double getPrecursorIntensity( const int stage );
496 
502  double getPrecursorIntensity();
503 
509  void setPrecursorCharge( const int charge );
510 
516  int getPrecursorCharge();
517 
523  void setParentSpectrum( Spectrum* const parent );
524 
530  Spectrum* getParentSpectrum();
531 
537  void getChildSpectra( std::vector< Spectrum* >& children );
538 
544  void setHasChromatogram( const bool chromatogram );
545 
551  bool hasChromatogram();
552 
558  void setGroup( DataGroupNode* group );
559 
565  DataGroupNode* getGroup();
566 
572  void setScanNumber( const int scan );
573 
579  int getScanNumber();
580 
586  void setPolarity( Polarity polarity );
587 
593  Polarity getPolarity();
594 
600  void setCentroidMode( const bool centroidMode );
601 
607  bool isCentroidMode();
608 
614  void setResolution( const double resolution );
615 
621  double getResolution();
622 
628  void setCollisionEnergy( const char* collisionEnergy );
629 
635  const char* getCollisionEnergy();
636 
642  void setVisible( const bool visible );
643 
649  bool isVisible();
650 
656  void setAutoZeroPoints( const bool autoZero );
657 
663  bool isAutoZeroPoints();
664 
670  kome::core::Properties& getProperties();
671 
677  kome::core::Properties& getUserProperties();
678 
684  void setOrgSpectrum( Spectrum* spec );
685 
691  Spectrum* getOrgSpectrum();
692 
698  void getProperties( kome::core::Properties& properties );
699 
705  void getUserProperties( kome::core::Properties& userProperties );
706 
707  // >>>>>> @Date:2013/07/16 <Add> A.Ozaki
708  //
714  void setSpotId( const char *pcSpotId );
715 
721  const char *getSpotId( void );
722  //
723  // <<<<<< @Date:2013/07/16 <Add> A.Ozaki
724 
725  public:
732  static bool isCommonProperty( const char* key );
733 
734  protected:
742  virtual void onGetXYData( kome::core::XYData* const xyData, const double minX, const double maxX ) = 0;
743 
750  virtual void onGetXRange( double* minX, double* maxX ) = 0;
751 
759  virtual double onGetTotalIntensity( const double minX, const double maxX ) = 0;
760 
768  virtual double onGetMaxIntensity( const double minX, const double maxX ) = 0;
769 
770  // >>>>>> @Date:2013/07/16 <Add> A.Ozaki
771  //
776  virtual void onSetRequestLoadData( void );
781  virtual void onResetRequestLoadData( void );
782 
788  virtual bool onIsRequestLoadData( void );
789 
794  virtual void onSetFirstAccess( void );
795 
800  virtual void onResetFirstAccess( void );
801 
807  virtual bool onIsFirstAccess( void );
808 
814  virtual bool onLoadData( void );
815 
821  bool firstAccessProcess( void );
822 
823  public:
828  void setRequestLoadData( void );
829 
834  void resetRequestLoadData( void );
835 
841  bool isRequestLoadData( void );
842 
847  void setFirstAccess( void );
848 
853  void resetFirstAccess( void );
854 
860  bool isFirstAccess( void );
861 
867  bool loadData( void );
868  //
869  // <<<<<< @Date:2013/07/16 <Add> A.Ozaki
870 
871  };
872  }
873 }
874 
875 #endif // __KOME_OBJECTS_SPECTRUM_H__
abstraction class of two dimention coordinate data
Definition: XYData.h:34
group of spectrum management class
Definition: DataGroupNode.h:33
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: Spectrum.h:169
void setOperationFlag(const bool op)
sets the operation flag value
Definition: Spectrum.h:195
Spectrum * m_orgSpec
Definition: Spectrum.h:162
spectrum information management class
Definition: Spectrum.h:30
precursor information
Definition: Spectrum.h:62
bool getOperationFlag()
gets the operation flag value
Definition: Spectrum.h:202