libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::TraceMinusCombiner Class Reference

#include <traceminuscombiner.h>

Inheritance diagram for pappso::TraceMinusCombiner:
pappso::TraceCombiner pappso::MassDataCombinerInterface

Public Member Functions

 TraceMinusCombiner ()
 
 TraceMinusCombiner (int decimal_places)
 
 TraceMinusCombiner (const TraceMinusCombiner &other)
 
 TraceMinusCombiner (TraceMinusCombinerCstSPtr other)
 
virtual ~TraceMinusCombiner ()
 
virtual MapTracecombine (MapTrace &map_trace, const Trace &trace) const override
 
MapTracecombine (MapTrace &map_trace_out, const MapTrace &map_trace_in) const override
 
- Public Member Functions inherited from pappso::TraceCombiner
 TraceCombiner ()
 
 TraceCombiner (int decimal_places)
 
 TraceCombiner (const TraceCombiner &other)
 
 TraceCombiner (TraceCombinerCstSPtr other)
 
virtual ~TraceCombiner ()
 
- Public Member Functions inherited from pappso::MassDataCombinerInterface
 MassDataCombinerInterface (int decimal_places=-1)
 
virtual ~MassDataCombinerInterface ()
 
void setDecimalPlaces (int value)
 
int getDecimalPlaces () const
 
virtual MapTracecombine (MapTrace &map_trace, Iterator begin, Iterator end)
 

Friends

class MassSpectrumMinusCombiner
 

Additional Inherited Members

- Public Types inherited from pappso::MassDataCombinerInterface
using Iterator = std::vector<const Trace *>::const_iterator
 
- Protected Attributes inherited from pappso::MassDataCombinerInterface
int m_decimalPlaces = -1
 Number of decimals to use for the keys (x values)
 

Detailed Description

Definition at line 26 of file traceminuscombiner.h.

Constructor & Destructor Documentation

◆ TraceMinusCombiner() [1/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( )

Definition at line 22 of file traceminuscombiner.cpp.

23{
24}

Referenced by TraceMinusCombiner(), and MassSpectrumMinusCombiner.

◆ TraceMinusCombiner() [2/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( int decimal_places)

Definition at line 27 of file traceminuscombiner.cpp.

28 : TraceCombiner(decimal_places)
29{
30}

References pappso::TraceCombiner::TraceCombiner().

◆ TraceMinusCombiner() [3/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( const TraceMinusCombiner & other)

Definition at line 33 of file traceminuscombiner.cpp.

34 : TraceCombiner(other)
35{
36}

References pappso::TraceCombiner::TraceCombiner(), and TraceMinusCombiner().

◆ TraceMinusCombiner() [4/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( TraceMinusCombinerCstSPtr other)

Definition at line 39 of file traceminuscombiner.cpp.

40 : TraceCombiner(other)
41{
42}

References pappso::TraceCombiner::TraceCombiner().

◆ ~TraceMinusCombiner()

pappso::TraceMinusCombiner::~TraceMinusCombiner ( )
virtual

Definition at line 45 of file traceminuscombiner.cpp.

46{
47}

Member Function Documentation

◆ combine() [1/2]

MapTrace & pappso::TraceMinusCombiner::combine ( MapTrace & map_trace,
const Trace & trace ) const
overridevirtual

Implements pappso::MassDataCombinerInterface.

Definition at line 51 of file traceminuscombiner.cpp.

52{
53 // qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << " ()"
54 //<< "map trace size:" << map_trace.size()
55 //<< "trace size:" << trace.size();
56
57 if(!trace.size())
58 return map_trace;
59
60 for(auto &current_data_point : trace)
61 {
62
63 // If the data point is 0-intensity, then do nothing!
64 if(!current_data_point.y)
65 continue;
66
67 // qDebug() << "Iterating in new trace data point:"
68 //<< current_data_point.toString(15);
69
70 double x = Utils::roundToDecimals(current_data_point.x, m_decimalPlaces);
71
72 std::map<double, double>::iterator map_iterator;
73
74 std::pair<std::map<pappso_double, pappso_double>::iterator, bool> result;
75
76 // qDebug() << "Willing to insert new data point:" << x << ","
77 //<< -current_data_point.y;
78
79 result = map_trace.insert(
80 std::pair<pappso_double, pappso_double>(x, -current_data_point.y));
81
82 if(result.second)
83 {
84 // qDebug() << "Inserted new data point:" << x << ","
85 //<< -current_data_point.y;
86 // The new element was inserted, we have nothing to do.
87 }
88 else
89 {
90 // qDebug() << "Going to decrement from" << result.first->second
91 //<< "a value of " << current_data_point.y;
92
93 // The key already existed! The item was not inserted. We need to
94 // update the value.
95
96 result.first->second -= current_data_point.y;
97
98 // qDebug() << "New result: " << result.first->second;
99 }
100 }
101
102 // qDebug() << "Prior to returning map_trace, its size is:" <<
103 // map_trace.size();
104
105 return map_trace;
106}
int m_decimalPlaces
Number of decimals to use for the keys (x values)
static pappso_double roundToDecimals(pappso_double value, int decimal_places)
Definition utils.cpp:140

References pappso::MassDataCombinerInterface::m_decimalPlaces, pappso::Utils::roundToDecimals(), and pappso::x.

Referenced by combine(), and MassSpectrumMinusCombiner.

◆ combine() [2/2]

MapTrace & pappso::TraceMinusCombiner::combine ( MapTrace & map_trace_out,
const MapTrace & map_trace_in ) const
overridevirtual

Implements pappso::MassDataCombinerInterface.

Definition at line 110 of file traceminuscombiner.cpp.

112{
113 // qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << " ()"
114 //<< "map trace size:" << map_trace_out.size()
115 //<< "trace size:" << trace.size();
116
117 if(!map_trace_in.size())
118 return map_trace_out;
119
120 return combine(map_trace_out, map_trace_in.toTrace());
121}
virtual MapTrace & combine(MapTrace &map_trace, const Trace &trace) const override

References combine(), and pappso::MapTrace::toTrace().

Friends And Related Symbol Documentation

◆ MassSpectrumMinusCombiner

friend class MassSpectrumMinusCombiner
friend

Definition at line 29 of file traceminuscombiner.h.

References TraceMinusCombiner(), combine(), and MassSpectrumMinusCombiner.

Referenced by MassSpectrumMinusCombiner.


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