libpappsomspp
Library for mass spectrometry
pappso::FilterRemoveC13 Class Reference

#include <filterremovec13.h>

Inheritance diagram for pappso::FilterRemoveC13:
pappso::FilterInterface

Public Member Functions

 FilterRemoveC13 (PrecisionPtr precision_ptr)
 
 FilterRemoveC13 (const FilterRemoveC13 &other)
 
virtual ~FilterRemoveC13 ()
 
Tracefilter (Trace &data_points) const override
 
- Public Member Functions inherited from pappso::FilterInterface
virtual ~FilterInterface ()
 

Private Member Functions

bool notExcluded (std::vector< std::pair< double, double >> &exclusionMassMap, double mass) const
 
void addExclusionMap (std::vector< std::pair< double, double >> &exclusionMassMap, double mass) const
 

Private Attributes

double m_diffC12C13_z1
 
double m_diffC12C13_z2
 
PrecisionPtr m_precisionPtr
 

Detailed Description

Definition at line 44 of file filterremovec13.h.

Constructor & Destructor Documentation

◆ FilterRemoveC13() [1/2]

FilterRemoveC13::FilterRemoveC13 ( PrecisionPtr  precision_ptr)

Default constructor

Definition at line 32 of file filterremovec13.cpp.

33  : m_precisionPtr(precision_ptr)
34 {
37 }
const pappso_double DIFFC12C13(1.0033548378)

References pappso::DIFFC12C13(), m_diffC12C13_z1, and m_diffC12C13_z2.

◆ FilterRemoveC13() [2/2]

FilterRemoveC13::FilterRemoveC13 ( const FilterRemoveC13 other)

Copy constructor

Parameters
otherTODO

Definition at line 39 of file filterremovec13.cpp.

41 {
44 }

References pappso::DIFFC12C13(), m_diffC12C13_z1, and m_diffC12C13_z2.

◆ ~FilterRemoveC13()

FilterRemoveC13::~FilterRemoveC13 ( )
virtual

Destructor

Definition at line 46 of file filterremovec13.cpp.

47 {
48 }

Member Function Documentation

◆ addExclusionMap()

void pappso::FilterRemoveC13::addExclusionMap ( std::vector< std::pair< double, double >> &  exclusionMassMap,
double  mass 
) const
private

Definition at line 92 of file filterremovec13.cpp.

94 {
95  MzRange range1(mass + m_diffC12C13_z1, m_precisionPtr);
96 
97  exclusionMassMap.push_back(
98  std::pair<double, double>(range1.lower(), range1.upper()));
99 
100 
101  MzRange range2(mass + m_diffC12C13_z2, m_precisionPtr);
102 
103  exclusionMassMap.push_back(
104  std::pair<double, double>(range2.lower(), range2.upper()));
105 }

References pappso::MzRange::lower(), and pappso::MzRange::upper().

Referenced by filter().

◆ filter()

Trace & FilterRemoveC13::filter ( Trace data_points) const
overridevirtual

Implements pappso::FilterInterface.

Definition at line 51 of file filterremovec13.cpp.

52 {
53 
54  std::vector<std::pair<double, double>> exclusionMassMap;
55  // qDebug() << data_points.size();
56  std::sort(data_points.begin(),
57  data_points.end(),
58  [](const DataPoint &a, const DataPoint &b) { return (a.y > b.y); });
59 
60  Trace new_trace;
61 
62  for(auto &data_point : data_points)
63  {
64  if(notExcluded(exclusionMassMap, data_point.x))
65  {
66  new_trace.push_back(data_point);
67  }
68  addExclusionMap(exclusionMassMap, data_point.x);
69  }
70  new_trace.sortX();
71  // qDebug() << new_trace.size();
72  data_points = std::move(new_trace);
73  // qDebug() << data_points.size();
74  return data_points;
75 }
void addExclusionMap(std::vector< std::pair< double, double >> &exclusionMassMap, double mass) const
bool notExcluded(std::vector< std::pair< double, double >> &exclusionMassMap, double mass) const
A simple container of DataPoint instances.
Definition: trace.h:148
void sortX()
Definition: trace.cpp:956

References pappso::a, addExclusionMap(), pappso::b, notExcluded(), and pappso::Trace::sortX().

◆ notExcluded()

bool pappso::FilterRemoveC13::notExcluded ( std::vector< std::pair< double, double >> &  exclusionMassMap,
double  mass 
) const
private

Definition at line 78 of file filterremovec13.cpp.

80 {
81  for(auto &mass_range : exclusionMassMap)
82  {
83  if((mass_range.first <= mass) && (mass_range.second >= mass))
84  {
85  return false;
86  }
87  }
88  return true;
89 }

Referenced by filter().

Member Data Documentation

◆ m_diffC12C13_z1

double pappso::FilterRemoveC13::m_diffC12C13_z1
private

Definition at line 74 of file filterremovec13.h.

Referenced by FilterRemoveC13().

◆ m_diffC12C13_z2

double pappso::FilterRemoveC13::m_diffC12C13_z2
private

Definition at line 75 of file filterremovec13.h.

Referenced by FilterRemoveC13().

◆ m_precisionPtr

PrecisionPtr pappso::FilterRemoveC13::m_precisionPtr
private

Definition at line 76 of file filterremovec13.h.


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