libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
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.

32 : m_precisionPtr(precision_ptr)
33{
36}
const pappso_double DIFFC12C13(1.0033548378)

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

Referenced by FilterRemoveC13().

◆ FilterRemoveC13() [2/2]

FilterRemoveC13::FilterRemoveC13 ( const FilterRemoveC13 & other)

Copy constructor

Parameters
otherTODO

Definition at line 38 of file filterremovec13.cpp.

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

◆ ~FilterRemoveC13()

FilterRemoveC13::~FilterRemoveC13 ( )
virtual

Destructor

Definition at line 45 of file filterremovec13.cpp.

46{
47}

Member Function Documentation

◆ addExclusionMap()

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

Definition at line 91 of file filterremovec13.cpp.

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

References pappso::MzRange::lower(), m_diffC12C13_z1, m_diffC12C13_z2, m_precisionPtr, and pappso::MzRange::upper().

Referenced by filter().

◆ filter()

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

Implements pappso::FilterInterface.

Definition at line 50 of file filterremovec13.cpp.

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

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 77 of file filterremovec13.cpp.

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

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(), FilterRemoveC13(), and addExclusionMap().

◆ m_diffC12C13_z2

double pappso::FilterRemoveC13::m_diffC12C13_z2
private

Definition at line 75 of file filterremovec13.h.

Referenced by FilterRemoveC13(), FilterRemoveC13(), and addExclusionMap().

◆ m_precisionPtr

PrecisionPtr pappso::FilterRemoveC13::m_precisionPtr
private

Definition at line 76 of file filterremovec13.h.

Referenced by FilterRemoveC13(), FilterRemoveC13(), and addExclusionMap().


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