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
 
Peaks2Doperator= (const Peaks2D &other)
 substitution operator More...
 
Peak2DElementcreatePeak (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...
 
Peak2DElementcreatePeak (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...
 
PeaksCluster2DcreateCluster ()
 creates cluster More...
 
unsigned int getNumberOfClusters ()
 gets the number of clusters More...
 
PeaksCluster2DgetCluster (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...
 
Peak2DElementgetPeakById (int id)
 gets peak element by peak2d id More...
 
unsigned int getNumberOfPeaks ()
 gets the number of peaks More...
 
Peak2DElementgetPeak (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: