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 Tracefilter (Trace &data_points) const =0
 
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.

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{
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}
bool notExcluded(std::vector< std::pair< double, double > > &exclusionMassMap, double mass) const
void addExclusionMap(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: