SedSat3 1.1.6
Sediment Source Apportionment Tool - Advanced statistical methods for environmental pollution research
Loading...
Searching...
No Matches
cmbvector.h
Go to the documentation of this file.
1#ifndef CMBVector_H
2#define CMBVector_H
3
4#include "Vector.h"
5#include "interface.h"
6#include "range.h"
7
16class CMBVector : public CVector, public Interface
17{
18public:
22 CMBVector();
23
28 CMBVector(int n);
29
34 CMBVector(const CMBVector& mp);
35
40 CMBVector(const CVector_arma& mp);
41
47 CMBVector& operator=(const CMBVector& mp);
48
53 CMBVector(const CVector& mp);
54
60 CMBVector& operator=(const CVector& mp);
61
67 CMBVector& operator=(const CVector_arma& mp);
68
73 QJsonObject toJsonObject() const override;
74
80 bool ReadFromJsonObject(const QJsonObject& jsonobject) override;
81
86 string ToString() const override;
87
97 QTableWidget* ToTable() override;
98
104 bool writetofile(QFile* file) override;
105
111 double valueAt(int i) const;
112
118 string Label(int i) const { return labels[i]; }
119
125 double valueAt(const string& label) const;
126
132 int LookupLabel(const string& label) const;
133
138 vector<string> Labels() const { return labels; }
139
145 void SetLabel(int i, const string& label) { labels[i] = label; }
146
151 void SetLabels(const vector<string>& label) { labels = label; }
152
161 void SetBooleanValue(bool val) { boolean_values = val; }
162
167 CVector toVector() const;
168
174 CMBVector Sort(const CMBVector& sortvector = CMBVector()) const;
175
181 CMBVector AbsSort(const CMBVector& sortvector = CMBVector()) const;
182
187 string MaxElement() const;
188
193 string MaxAbsElement()const;
194
200 CMBVector Eliminate(const string& element) const;
201
207 void append(const string& label, const double& val);
208
215 CMBVector Extract(int start, int end) const;
216
221 int size() const { return num; }
222
229 CMBVector ExtractWithinRange(const double& lowval, const double& highval) const;
230
240
241private:
242 vector<string> labels;
243 bool boolean_values = false;
244};
245
252CMBVector operator+(const CMBVector&, const CMBVector&);
253
260CMBVector operator+(double, const CMBVector&);
261
268CMBVector operator+(const CMBVector&, double);
269
276CMBVector operator-(const CMBVector&, const CMBVector&);
277
284CMBVector operator-(double, const CMBVector&);
285
292CMBVector operator-(const CMBVector&, double);
293
300CMBVector operator*(const CMBVector&, const CMBVector&);
301
308CMBVector operator*(double, const CMBVector&);
309
316CMBVector operator/(const CMBVector&, double);
317
318
319#endif // CMBVector_H
Vector class with string labels for Chemical Mass Balance analysis.
Definition cmbvector.h:17
CMBVector & operator=(const CMBVector &mp)
Assignment operator from CMBVector.
Definition cmbvector.cpp:38
CVector toVector() const
Converts to base CVector type (without labels)
QTableWidget * ToTable() override
Creates a QTableWidget for displaying vector data.
CMBVector Eliminate(const string &element) const
Creates new vector with specified element removed.
bool writetofile(QFile *file) override
Writes vector to file in CSV format.
void SetLabels(const vector< string > &label)
Sets all element labels at once.
Definition cmbvector.h:151
vector< string > labels
Labels for each element.
Definition cmbvector.h:242
void SetLabel(int i, const string &label)
Sets label at specified index.
Definition cmbvector.h:145
QJsonObject toJsonObject() const override
Serializes vector to JSON format.
Definition cmbvector.cpp:65
CMBVector Extract(int start, int end) const
Extracts a range of elements by index.
CMBVector ExtractWithinRange(const double &lowval, const double &highval) const
Extracts elements with values within specified range.
string MaxAbsElement() const
Finds label of element with maximum absolute value.
string ToString() const override
Converts vector to CSV-formatted string.
void SetBooleanValue(bool val)
Sets boolean display mode for table widget.
Definition cmbvector.h:161
CMBVector Sort(const CMBVector &sortvector=CMBVector()) const
Sorts vector by values in descending order.
string MaxElement() const
Finds label of element with maximum value.
bool ReadFromJsonObject(const QJsonObject &jsonobject) override
Deserializes vector from JSON format.
Definition cmbvector.cpp:81
CMBVector ExtractUpToMinimum() const
Extracts elements up to first minimum value.
int size() const
Gets number of elements in vector.
Definition cmbvector.h:221
void append(const string &label, const double &val)
Appends a labeled element to the vector.
CMBVector()
Default constructor - creates an empty vector.
Definition cmbvector.cpp:6
bool boolean_values
Display values as Pass/Fail instead of numbers.
Definition cmbvector.h:243
CMBVector AbsSort(const CMBVector &sortvector=CMBVector()) const
Sorts vector by absolute values in descending order.
double valueAt(int i) const
Gets value at specified index.
string Label(int i) const
Gets label at specified index.
Definition cmbvector.h:118
vector< string > Labels() const
Gets all element labels.
Definition cmbvector.h:138
int LookupLabel(const string &label) const
Finds index of element with given label.
Abstract base class providing common serialization and visualization interface.
Definition interface.h:65
CMBVector operator+(const CMBVector &, const CMBVector &)
Vector addition operator.
CMBVector operator*(const CMBVector &, const CMBVector &)
Element-wise vector multiplication operator.
CMBVector operator-(const CMBVector &, const CMBVector &)
Vector subtraction operator.
CMBVector operator/(const CMBVector &, double)
Vector-scalar division operator.