Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
OverlappingSpectrum.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_OVERLAPPING_SPECTRUM_H__
13 #define __KOME_OBJECTS_OVERLAPPING_SPECTRUM_H__
14 
15 
16 #include "Spectrum.h"
17 
18 
19 namespace kome {
20  namespace objects {
21 
26  class DATA_OBJECTS_CLASS OverlappingSpectrum : public Spectrum {
27  public:
33 
38  virtual ~OverlappingSpectrum();
39 
40  protected:
42  std::vector< Spectrum* > m_spectra;
43 
45  std::vector< double > m_dMinX;
47  std::vector< double > m_dMaxX;
49  std::vector< double > m_dMinY;
51  std::vector< double > m_dMaxY;
52 
53  bool *m_bFlags;
54  double *m_dInts;
55  int m_nAllocLen;
56 
57  public:
63  void addSpectrum( Spectrum* spec );
64 
69  void clearSpectra();
70 
76  void removeSpectrum( Spectrum* spec );
77 
78  protected:
85  int searchSpectrum( Spectrum* spec );
86 
87  protected:
95  virtual void onGetXYData( kome::core::XYData* const xyData, const double minX, const double maxX );
96 
103  virtual void onGetXRange( double* minX, double* maxX );
104 
112  virtual double onGetTotalIntensity( const double minX, const double maxX );
113 
121  virtual double onGetMaxIntensity( const double minX, const double maxX );
122  };
123  }
124 }
125 
126 #endif // __KOME_OBJECTS_OVERLAPPING_SPECTRUM_H__
abstraction class of two dimention coordinate data
Definition: XYData.h:34
interfaces of Spectrum class
dummy spectrum class for overlapping draw
std::vector< Spectrum * > m_spectra
spectrum information management class
Definition: Spectrum.h:30