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.

29 : TraceCombiner(decimal_places)
30{
31}

References pappso::TraceCombiner::TraceCombiner().

◆ TracePlusCombiner() [3/4]

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

Definition at line 34 of file tracepluscombiner.cpp.

35 : TraceCombiner(other)
36{
37}

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

◆ TracePlusCombiner() [4/4]

pappso::TracePlusCombiner::TracePlusCombiner ( TracePlusCombinerCstSPtr other)

Definition at line 40 of file tracepluscombiner.cpp.

41 : TraceCombiner(other)
42{
43 qDebug();
44}

References pappso::TraceCombiner::TraceCombiner().

◆ ~TracePlusCombiner()

pappso::TracePlusCombiner::~TracePlusCombiner ( )
virtual

Definition at line 47 of file tracepluscombiner.cpp.

48{
49}

Member Function Documentation

◆ combine() [1/2]

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

Implements pappso::MassDataCombinerInterface.

Definition at line 53 of file tracepluscombiner.cpp.

54{
55 // qDebug() << "With m_decimalPlaces:" << m_decimalPlaces;
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 double x = Utils::roundToDecimals(current_data_point.x, m_decimalPlaces);
68
69 std::map<double, double>::iterator map_iterator;
70
71 std::pair<std::map<pappso_double, pappso_double>::iterator, bool> result;
72
73 result = map_trace.insert(
74 std::pair<pappso_double, pappso_double>(x, current_data_point.y));
75
76 if(result.second)
77 {
78 // qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << " ()";
79 // The new element was inserted, we have nothing to do.
80 }
81 else
82 {
83 // The key already existed! The item was not inserted. We need to
84 // update the value.
85
86 result.first->second += current_data_point.y;
87 }
88 }
89
90 // qDebug() << __FILE__ << "@" << __LINE__ << __FUNCTION__ << " ()"
91 //<< "Prior to returning map_trace, its size is:" << map_trace.size();
92 // qDebug();
93 return map_trace;
94}
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 98 of file tracepluscombiner.cpp.

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

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

Friends And Related Symbol Documentation

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