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

#include <tracepluscombiner.h>

Inheritance diagram for pappso::TracePlusCombiner:
pappso::TraceCombiner pappso::MassDataCombinerInterface

Public Member Functions

 TracePlusCombiner ()
 TracePlusCombiner (int decimal_places)
 TracePlusCombiner (const TracePlusCombiner &other)
 TracePlusCombiner (TracePlusCombinerCstSPtr other)
virtual ~TracePlusCombiner ()
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 MassSpectrumPlusCombiner

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 tracepluscombiner.h.

Constructor & Destructor Documentation

◆ TracePlusCombiner() [1/4]

pappso::TracePlusCombiner::TracePlusCombiner ( )

◆ TracePlusCombiner() [2/4]

pappso::TracePlusCombiner::TracePlusCombiner ( int decimal_places)

Definition at line 28 of file tracepluscombiner.cpp.

28 : TraceCombiner(decimal_places)
29{
30}

References pappso::TraceCombiner::TraceCombiner().

◆ TracePlusCombiner() [3/4]

pappso::TracePlusCombiner::TracePlusCombiner ( const TracePlusCombiner & other)

Definition at line 33 of file tracepluscombiner.cpp.

33 : TraceCombiner(other)
34{
35}

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

◆ TracePlusCombiner() [4/4]

pappso::TracePlusCombiner::TracePlusCombiner ( TracePlusCombinerCstSPtr other)

Definition at line 38 of file tracepluscombiner.cpp.

38 : TraceCombiner(other)
39{
40 qDebug();
41}

References pappso::TraceCombiner::TraceCombiner().

◆ ~TracePlusCombiner()

pappso::TracePlusCombiner::~TracePlusCombiner ( )
virtual

Definition at line 44 of file tracepluscombiner.cpp.

45{
46}

Member Function Documentation

◆ combine() [1/2]

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

Implements pappso::MassDataCombinerInterface.

Definition at line 50 of file tracepluscombiner.cpp.

51{
52 // qDebug() << "With m_decimalPlaces:" << m_decimalPlaces << "map trace size:" << map_trace.size()
53 // << "trace size:" << trace.size();
54
55 if(!trace.size())
56 return map_trace;
57
58 for(auto &current_data_point : trace)
59 {
60
61 // If the data point is 0-intensity, then do nothing!
62 if(!current_data_point.y)
63 continue;
64
65 double x = Utils::roundToDecimals(current_data_point.x, m_decimalPlaces);
66 // double x = current_data_point.x;
67
68 std::map<double, double>::iterator map_iterator;
69
70 std::pair<std::map<pappso_double, pappso_double>::iterator, bool> result;
71
72 result = map_trace.insert(std::pair<pappso_double, pappso_double>(x, current_data_point.y));
73
74 if(result.second)
75 {
76 // qDebug() << " The element to insert was not there already, we added it.";
77 // The new element was inserted, we have nothing to do.
78 }
79 else
80 {
81 // The key already existed! The item was not inserted. We need to
82 // update the value.
83
84 // qDebug() << " The element to insert was there already, we increment y.";
85 result.first->second += current_data_point.y;
86 }
87 }
88
89 // qDebug() << "Prior to returning map_trace, its size is:" << map_trace.size();
90 return map_trace;
91}
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(), pappso::TimsDdaPrecursors::getQualifiedMs1MassSpectrumBySpectrumDescr(), and MassSpectrumPlusCombiner.

◆ combine() [2/2]

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

Implements pappso::MassDataCombinerInterface.

Definition at line 95 of file tracepluscombiner.cpp.

96{
97 // qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << " ()"
98 //<< "map trace size:" << map_trace_out.size()
99 //<< "trace size:" << trace.size();
100
101 if(!map_trace_in.size())
102 return map_trace_out;
103
104 return combine(map_trace_out, map_trace_in.toTrace());
105}
virtual MapTrace & combine(MapTrace &map_trace, const Trace &trace) const override

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

◆ MassSpectrumPlusCombiner

friend class MassSpectrumPlusCombiner
friend

Definition at line 29 of file tracepluscombiner.h.

References TracePlusCombiner(), combine(), and MassSpectrumPlusCombiner.

Referenced by MassSpectrumPlusCombiner.


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