Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
Public Member Functions | Protected Attributes | List of all members
kome::objects::Peaks2D Class Reference

2-dimentional peaks More...

#include <Peaks2D.h>

Inheritance diagram for kome::objects::Peaks2D:
Inheritance graph
[legend]
Collaboration diagram for kome::objects::Peaks2D:
Collaboration graph
[legend]

Public Member Functions

 Peaks2D ()
 constructor
 
 Peaks2D (const Peaks2D &peaks)
 copy constructor More...
 
virtual ~Peaks2D ()
 destructor
 
Peaks2D & operator= (const Peaks2D &other)
 substitution operator More...
 
Peak2DElement * createPeak (const double rt, const double startRt, const double endRt, const double mz, const double startMz, const double endMz, const double intensity)
 creates new peak element More...
 
Peak2DElement * createPeak (const double rt, const double mz, const double intensity)
 creates new peak element More...
 
void clearPeaks ()
 clears peaks
 
void removePeak (Peak2DElement *peak)
 removes peak More...
 
void removePeak (const unsigned int idx)
 removes peak More...
 
PeaksCluster2D * createCluster ()
 creates cluster More...
 
unsigned int getNumberOfClusters ()
 gets the number of clusters More...
 
PeaksCluster2D * getCluster (const unsigned int idx)
 gets cluster More...
 
void clearClusters ()
 clears clusters
 
void removeCluster (PeaksCluster2D *cluster)
 removes cluster More...
 
void removeCluster (const unsigned int idx)
 removes cluster More...
 
void setDataId (const int id)
 sets the data ID More...
 
int getDataId ()
 gets the data ID More...
 
- Public Member Functions inherited from kome::objects::Peaks2DArray
 Peaks2DArray ()
 constructor
 
virtual ~Peaks2DArray ()
 destructor
 
int issueId (Peak2DElement *peak2dElement)
 to issue the peak2d id More...
 
Peak2DElement * getPeakById (int id)
 gets peak element by peak2d id More...
 
unsigned int getNumberOfPeaks ()
 gets the number of peaks More...
 
Peak2DElement * getPeak (const unsigned int idx)
 gets peak element More...
 
int searchPeak (Peak2DElement *peak)
 searches peak More...
 
void sortByRt (const bool desc)
 sorts peaks by RT More...
 
void sortByMz (const bool desc)
 sorts peaks by m/z More...
 
void sortByIntensity (const bool desc)
 sorts peaks by intensity param desc descending order flag
 

Protected Attributes

std::vector< PeaksCluster2D * > m_clusters
 
int m_dataId
 
- Protected Attributes inherited from kome::objects::Peaks2DArray
std::vector< Peak2DElement * > m_peaks
 

Additional Inherited Members

- Static Protected Member Functions inherited from kome::objects::Peaks2DArray
static bool lessRt (Peak2DElement *p0, Peak2DElement *p1, bool desc)
 compares peaks to sort by RT More...
 
static bool lessMz (Peak2DElement *p0, Peak2DElement *p1, bool desc)
 compares peaks to sort by m/z More...
 
static bool lessIntensity (Peak2DElement *p0, Peak2DElement *p1, bool desc)
 compares peaks to sort by intensity More...
 

Detailed Description

2-dimentional peaks

Definition at line 32 of file Peaks2D.h.

Constructor & Destructor Documentation

kome::objects::Peaks2D::Peaks2D ( const Peaks2D &  peaks)

copy constructor

Parameters
[in]peakscopy source

Definition at line 38 of file Peaks2D.cpp.

38  {
39  // create clusters
40  std::map< PeaksCluster2D*, PeaksCluster2D* > clusterMap;
41  clusterMap[ NULL ] = NULL;
42 
43  for( unsigned int i = 0; i < peaks.m_clusters.size(); i++ ) {
44  // source cluster
45  PeaksCluster2D* src = peaks.m_clusters[ i ];
46 
47  // new cluster
48  PeaksCluster2D* cluster = new PeaksCluster2D();
49  m_clusters.push_back( cluster );
50  clusterMap[ src ] = cluster;
51 
52  cluster->setRt( src->getRt() );
53  cluster->setRtRange( src->getStartRt(), src->getEndRt() );
54  cluster->setMz( src->getMz() );
55  cluster->setMzRange( src->getStartMz(), src->getEndMz() );
56  cluster->setIntensity( src->getIntensity() );
57  }
58 
59  // create peaks
60  m_peaks.clear();
61  for( unsigned int i = 0; i < peaks.m_peaks.size(); i++ ) {
62  // source peak
63  Peak2DElement* src = peaks.m_peaks[ i ];
64 
65  // new peak
66  Peak2DElement* peak = new Peak2DElement( this );
67  m_peaks.push_back( peak );
68 
69  peak->setRt( src->getRt(), src->getStartRt(), src->getEndRt() );
70  peak->setMz( src->getMz(), src->getStartMz(), src->getEndMz() );
71  peak->setIntensity( src->getIntensity() );
72 
73  PeaksCluster2D* cluster = clusterMap[ src->getCluster() ];
74  if( cluster != NULL ) {
75  cluster->addPeak( peak );
76  }
77  }
78 
79  // data ID
80  m_dataId = peaks.m_dataId;
81 }
void setRt(const double rt)
sets RT
double getStartRt()
gets start RT
void addPeak(Peak2DElement *peak)
adds peak
void setIntensity(const double intensity)
sets intensity
void setMz(const double mz, const double startMz, const double endMz)
sets m/z
2-dimentional peaks cluster
double getIntensity()
gets intensity
void setMz(const double mz)
sets m/z
#define NULL
Definition: CoreMacros.h:18
double getEndRt()
gets end RT
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
std::vector< Peak2DElement * > m_peaks
Definition: Peaks2DArray.h:44
double getEndMz()
gets end m/z
void setRtRange(const double startRt, const double endRt)
sets RT range
PeaksCluster2D * getCluster()
gets cluster
2-dimentional peak element
Definition: Peak2DElement.h:33
double getStartMz()
gets start m/z
void setRt(const double rt, const double startRt, const double endRt)
sets RT
double getEndRt()
gets end RT
double getStartRt()
gets start RT
double getEndMz()
gets end m/z
void setIntensity(const double intensity)
sets intensity
double getIntensity()
gets intensity
void setMzRange(const double startMz, const double endMz)
sets m/z range
double getStartMz()
gets start m/z

Here is the call graph for this function:

Member Function Documentation

PeaksCluster2D * kome::objects::Peaks2D::createCluster ( )

creates cluster

Returns
new cluster object

Definition at line 248 of file Peaks2D.cpp.

248  {
249  PeaksCluster2D* cluster = new PeaksCluster2D();
250  m_clusters.push_back( cluster );
251 
252  return cluster;
253 }
2-dimentional peaks cluster
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
Peak2DElement * kome::objects::Peaks2D::createPeak ( const double  rt,
const double  startRt,
const double  endRt,
const double  mz,
const double  startMz,
const double  endMz,
const double  intensity 
)

creates new peak element

Parameters
[in]rtRT
[in]startRtstart RT
[in]endRtend RT
[in]mzm/z
[in]startMzstart m/z
[in]endMzend m/z
[in]intensityintensity
Returns
new peak element object

Definition at line 138 of file Peaks2D.cpp.

146  {
147  // create peak
148  Peak2DElement* peak = new Peak2DElement( this );
149  m_peaks.push_back( peak );
150 
151  // set
152  peak->setRt( rt, startRt, endRt );
153  peak->setMz( mz, startMz, endMz );
154  peak->setIntensity( intensity );
155 
156  return peak;
157 }
void setIntensity(const double intensity)
sets intensity
void setMz(const double mz, const double startMz, const double endMz)
sets m/z
std::vector< Peak2DElement * > m_peaks
Definition: Peaks2DArray.h:44
2-dimentional peak element
Definition: Peak2DElement.h:33
void setRt(const double rt, const double startRt, const double endRt)
sets RT

Here is the call graph for this function:

Peak2DElement * kome::objects::Peaks2D::createPeak ( const double  rt,
const double  mz,
const double  intensity 
)

creates new peak element

Parameters
[in]rtRT
[in]mzm/z
[in]intensityintensity
Returns
new peak element object

Definition at line 196 of file Peaks2D.cpp.

200  {
201  // create peak
202  Peak2DElement* peak = createPeak( rt, rt, rt, mz, mz, mz, intensity );
203  return peak;
204 }
Peak2DElement * createPeak(const double rt, const double startRt, const double endRt, const double mz, const double startMz, const double endMz, const double intensity)
creates new peak element
Definition: Peaks2D.cpp:138
2-dimentional peak element
Definition: Peak2DElement.h:33

Here is the call graph for this function:

PeaksCluster2D * kome::objects::Peaks2D::getCluster ( const unsigned int  idx)

gets cluster

Parameters
[in]idxcluster index
Returns
cluster (If NULL, the index is illegal.)

Definition at line 261 of file Peaks2D.cpp.

261  {
262  if( idx >= m_clusters.size() ) {
263  return NULL;
264  }
265  return m_clusters[ idx ];
266 }
#define NULL
Definition: CoreMacros.h:18
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
int kome::objects::Peaks2D::getDataId ( )

gets the data ID

Returns
data ID

Definition at line 310 of file Peaks2D.cpp.

310  {
311  return m_dataId;
312 }
unsigned int kome::objects::Peaks2D::getNumberOfClusters ( )

gets the number of clusters

Returns
the number of clusters

Definition at line 256 of file Peaks2D.cpp.

256  {
257  return m_clusters.size();
258 }
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
Peaks2D & kome::objects::Peaks2D::operator= ( const Peaks2D &  other)

substitution operator

Parameters
[in]othersource peaks
Returns
copied peaks object

Definition at line 90 of file Peaks2D.cpp.

90  {
91  // create clusters
92  std::map< PeaksCluster2D*, PeaksCluster2D* > clusterMap;
93  clusterMap[ NULL ] = NULL;
94 
95  for( unsigned int i = 0; i < other.m_clusters.size(); i++ ) {
96  // source cluster
97  PeaksCluster2D* src = other.m_clusters[ i ];
98 
99  // new cluster
100  PeaksCluster2D* cluster = new PeaksCluster2D();
101  m_clusters.push_back( cluster );
102  clusterMap[ src ] = cluster;
103 
104  cluster->setRt( src->getRt() );
105  cluster->setRtRange( src->getStartRt(), src->getEndRt() );
106  cluster->setMz( src->getMz() );
107  cluster->setMzRange( src->getStartMz(), src->getEndMz() );
108  cluster->setIntensity( src->getIntensity() );
109  }
110 
111  // create peaks
112  m_peaks.clear();
113  for( unsigned int i = 0; i < other.m_peaks.size(); i++ ) {
114  // source peak
115  Peak2DElement* src = other.m_peaks[ i ];
116 
117  // new peak
118  Peak2DElement* peak = new Peak2DElement( this );
119  m_peaks.push_back( peak );
120 
121  peak->setRt( src->getRt(), src->getStartRt(), src->getEndRt() );
122  peak->setMz( src->getMz(), src->getStartMz(), src->getEndMz() );
123  peak->setIntensity( src->getIntensity() );
124 
125  PeaksCluster2D* cluster = clusterMap[ src->getCluster() ];
126  if( cluster != NULL ) {
127  cluster->addPeak( peak );
128  }
129  }
130 
131  // data ID
132  m_dataId = other.m_dataId;
133 
134  return *this;
135 }
void setRt(const double rt)
sets RT
double getStartRt()
gets start RT
void addPeak(Peak2DElement *peak)
adds peak
void setIntensity(const double intensity)
sets intensity
void setMz(const double mz, const double startMz, const double endMz)
sets m/z
2-dimentional peaks cluster
double getIntensity()
gets intensity
void setMz(const double mz)
sets m/z
#define NULL
Definition: CoreMacros.h:18
double getEndRt()
gets end RT
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
std::vector< Peak2DElement * > m_peaks
Definition: Peaks2DArray.h:44
double getEndMz()
gets end m/z
void setRtRange(const double startRt, const double endRt)
sets RT range
PeaksCluster2D * getCluster()
gets cluster
2-dimentional peak element
Definition: Peak2DElement.h:33
double getStartMz()
gets start m/z
void setRt(const double rt, const double startRt, const double endRt)
sets RT
double getEndRt()
gets end RT
double getStartRt()
gets start RT
double getEndMz()
gets end m/z
void setIntensity(const double intensity)
sets intensity
double getIntensity()
gets intensity
void setMzRange(const double startMz, const double endMz)
sets m/z range
double getStartMz()
gets start m/z

Here is the call graph for this function:

void kome::objects::Peaks2D::removeCluster ( PeaksCluster2D *  cluster)

removes cluster

Parameters
[in]clustercluster to be removed

Definition at line 277 of file Peaks2D.cpp.

277  {
278  // search
279  int idx = -1;
280  for( unsigned int i = 0; i < m_clusters.size() && idx < 0; i++ ) {
281  if( cluster == m_clusters[ i ] ) {
282  idx = (int)i;
283  }
284  }
285 
286  // remove
287  if( idx >= 0 ) {
288  removeCluster( idx );
289  }
290 }
void removeCluster(PeaksCluster2D *cluster)
removes cluster
Definition: Peaks2D.cpp:277
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
void kome::objects::Peaks2D::removeCluster ( const unsigned int  idx)

removes cluster

Parameters
[in]idxcluster index

Definition at line 293 of file Peaks2D.cpp.

293  {
294  // check
295  if( idx >= m_clusters.size() ) {
296  return;
297  }
298 
299  // remove
300  delete m_clusters[ idx ];
301  m_clusters.erase( m_clusters.begin() + idx );
302 }
std::vector< PeaksCluster2D * > m_clusters
Definition: Peaks2D.h:64
void kome::objects::Peaks2D::removePeak ( Peak2DElement *  peak)

removes peak

Parameters
[in]peakpeak to be removed

Definition at line 215 of file Peaks2D.cpp.

215  {
216  // search
217  int idx = -1;
218  for( unsigned int i = 0; i < m_peaks.size() && idx < 0 ; i++ ) {
219  if( peak == m_peaks[ i ] ) {
220  idx = (int)i;
221  }
222  }
223 
224  // remove
225  if( idx >= 0 ) {
226  removePeak( idx );
227  }
228 }
void removePeak(Peak2DElement *peak)
removes peak
Definition: Peaks2D.cpp:215
std::vector< Peak2DElement * > m_peaks
Definition: Peaks2DArray.h:44
void kome::objects::Peaks2D::removePeak ( const unsigned int  idx)

removes peak

Parameters
[in]idxpeak index

Definition at line 231 of file Peaks2D.cpp.

231  {
232  // check
233  if( idx >= m_peaks.size() ) {
234  return;
235  }
236 
237  // delete
238  kome::objects::Peak2DElement* peak = m_peaks[ idx ];
239  kome::objects::PeaksCluster2D* cluster = peak->getCluster();
240  if( cluster != NULL ) {
241  cluster->removePeak( peak );
242  }
243  delete peak;
244  m_peaks.erase( m_peaks.begin() + idx );
245 }
void removePeak(Peak2DElement *peak)
removes peak
2-dimentional peaks cluster
#define NULL
Definition: CoreMacros.h:18
std::vector< Peak2DElement * > m_peaks
Definition: Peaks2DArray.h:44
PeaksCluster2D * getCluster()
gets cluster
2-dimentional peak element
Definition: Peak2DElement.h:33

Here is the call graph for this function:

void kome::objects::Peaks2D::setDataId ( const int  id)

sets the data ID

Parameters
[in]iddata ID

Definition at line 305 of file Peaks2D.cpp.

305  {
306  m_dataId = id;
307 }

Member Data Documentation

std::vector< PeaksCluster2D* > kome::objects::Peaks2D::m_clusters
protected

clusters

Definition at line 64 of file Peaks2D.h.

int kome::objects::Peaks2D::m_dataId
protected

data ID

Definition at line 68 of file Peaks2D.h.


The documentation for this class was generated from the following files: