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}

◆ TraceMinusCombiner() [2/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( int  decimal_places)

Definition at line 27 of file traceminuscombiner.cpp.

28 : TraceCombiner(decimal_places)
29{
30}

◆ TraceMinusCombiner() [3/4]

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

Definition at line 33 of file traceminuscombiner.cpp.

34 : TraceCombiner(other)
35{
36}

◆ TraceMinusCombiner() [4/4]

pappso::TraceMinusCombiner::TraceMinusCombiner ( TraceMinusCombinerCstSPtr  other)

Definition at line 39 of file traceminuscombiner.cpp.

40 : TraceCombiner(other)
41{
42}

◆ ~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:142

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

Referenced by combine().

◆ 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.


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