Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
PeaksManager.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_PEAKS_MANAGER_H__
13 #define __KOME_OBJECTS_PEAKS_MANAGER_H__
14 
15 
16 #include "DefaultDataManager.h"
17 
18 #include "Peaks.h"
19 #include "Peaks2D.h"
20 #include "PeakElement.h"
21 
22 
23 #include <map>
24 #include <vector>
25 
26 
27 namespace kome {
28 
29  namespace objects {
30 
31  class Sample;
32  class Spectrum;
33  class Chromatogram;
34  class DataGroupNode;
35  class DataMapInfo;
36 
41  class DATA_OBJECTS_CLASS PeaksManager : public DefaultDataManager {
42  protected:
47  PeaksManager();
48 
53  virtual ~PeaksManager();
54 
55  protected:
57  std::map< Spectrum*, Peaks > m_specPeaksMap;
58 
60  std::map< Chromatogram*, Peaks > m_chromPeaksMap;
61 
63  std::map< DataGroupNode*, Peaks2D > m_2dPeaksMap;
64 
65  public:
72  Peaks* getPeaks( Spectrum* spec );
73 
80  Peaks* getPeaks( Chromatogram* chrom );
81 
88  Peaks2D* getPeaks( DataGroupNode* group );
89 
96  Peaks* createPeaks( Spectrum* spec );
97 
104  Peaks* createPeaks( Chromatogram* chrom );
105 
112  Peaks2D* createPeaks( DataGroupNode* group );
113 
120  bool hasPeaks( Spectrum* spec );
121 
128  bool hasPeaks( Chromatogram* chrom );
129 
136  bool hasPeaks( DataGroupNode* group );
137 
143  void deletePeaks( Spectrum* spec );
144 
150  void deletePeaks( Chromatogram* chrom );
151 
157  void deletePeaks( DataGroupNode* group );
158 
166  void updatePeaks( Spectrum& spec, Peaks* peaks, std::vector<PeakElement>& addPeaks );
167 
168  protected:
175  virtual void onCloseSample( Sample* sample, const bool deleting );
176 
177  public:
183  static PeaksManager& getInstance();
184  };
185  }
186 }
187 
188 
189 #endif // __KOME_OBJECTS_PEAKS_MANAGER_H__
group of spectrum management class
Definition: DataGroupNode.h:33
sample information management class
Definition: Sample.h:34
std::map< Chromatogram *, Peaks > m_chromPeaksMap
Definition: PeaksManager.h:60
interfaces of Peaks2D class
peaks management class
Definition: PeaksManager.h:41
interfaces of DefaultDataManager class
std::map< DataGroupNode *, Peaks2D > m_2dPeaksMap
Definition: PeaksManager.h:63
interfaces of Peaks class
interfaces of PeakElement class
std::map< Spectrum *, Peaks > m_specPeaksMap
Definition: PeaksManager.h:57
2-dimentional peaks
Definition: Peaks2D.h:32
spectrum information management class
Definition: Spectrum.h:30
peaks information class
Definition: Peaks.h:35
chromatogram information management class
Definition: Chromatogram.h:33