Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
AveragedSpectrum.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_AVERAGED_SPECTRUM_H__
13 #define __KOME_OBJECTS_AVERAGED_SPECTRUM_H__
14 
15 #include "Spectrum.h"
16 
17 #include <vector>
18 
19 
20 namespace kome {
21  namespace objects {
22 
23  class DataGroupNode;
24 
29  class DATA_OBJECTS_CLASS AveragedSpectrum : public Spectrum {
30  public:
37 
42  virtual ~AveragedSpectrum();
43 
44  protected:
46  std::vector< Spectrum* > m_spectra;
47 
49  double m_d;
50 
51  public:
57  void addSpectrum( Spectrum* spectrum );
58 
64  unsigned int getNumberOfSpectra();
65 
72  Spectrum* getSpectrum( const unsigned int idx );
73 
74  public:
80  void setMergeDistance( const double d );
81 
87  double getMergeDistance();
88 
89  protected:
94  void updateTitle();
95 
96  protected:
104  virtual void onGetXYData( kome::core::XYData* const xyData, const double minX, const double maxX );
105 
112  virtual void onGetXRange( double* minX, double* maxX );
113 
121  virtual double onGetTotalIntensity( const double minX, const double maxX );
122 
130  virtual double onGetMaxIntensity( const double minX, const double maxX );
131 
132  public:
140  static void getAveragedDataPoints( kome::objects::Spectrum** spectra, const unsigned int num, kome::core::XYData& xyData );
141 
149  static void mergeDataPoints( kome::core::XYData& src0, kome::core::XYData& src1, kome::core::XYData& dst );
150  };
151  }
152 }
153 
154 #endif // __KOME_OBJECTS_AVERAGED_SPECTRUM_H__
abstraction class of two dimention coordinate data
Definition: XYData.h:34
group of spectrum management class
Definition: DataGroupNode.h:33
std::vector< Spectrum * > m_spectra
interfaces of Spectrum class
averaged spectrum class
spectrum information management class
Definition: Spectrum.h:30