34#include <qcborarray.h>
36#include <qcborvalue.h>
56std::vector<QcborSpectrumPrecursor>
59 std::vector<QcborSpectrumPrecursor> precursor_list;
61 auto itout = constFind(QCborValue(
"precursorList"));
64 auto it = itout.value().toMap().constFind(QCborValue(
"precursor"));
67 for(
auto it_cv = it->toArray().cbegin(); it_cv != it->toArray().cend(); it_cv++)
71 precursor_list.push_back(precursor);
73 return precursor_list;
89 auto itout = constFind(QCborValue(
"scanList"));
92 auto it = itout.value().toMap().constFind(QCborValue(
"scan"));
95 for(
auto it_cv = it->toArray().cbegin(); it_cv != it->toArray().cend(); it_cv++)
117 QCborMap cbor_precursor_list;
123 cbor_precursor_list.insert(QCborValue(
"count"), (qint64)precursor_list.size());
127 for(
auto &it_prec : precursor_list)
129 cbor_arr.push_back(it_prec);
131 cbor_precursor_list.insert(QCborValue(
"precursor"), cbor_arr);
133 insert(QCborValue(
"precursorList"), cbor_precursor_list);
167 auto it = constFind(
id);
171 return it.value().toString();
181 QCborValue id(
"defaultArrayLength");
182 auto it = constFind(
id);
186 return it.value().toInteger();
191 QObject::tr(
"ERROR: no defaultArrayLength in QcborSpectrum %1").arg(
getId()));
202 QCborValue native_id(
"id");
203 auto it = find(native_id);
207 it.value() = QCborValue(
id);
217 QCborValue id(
"index");
218 auto it = constFind(
id);
222 return (std::size_t)it.value().toInteger();
237 QCborValue id(
"index");
242 it.value() = QCborValue((qint64)index);
255 QCborValue cv_param(
"cvParam");
256 auto it = constFind(cv_param);
259 for(
auto it_cv = it->toArray().cbegin(); it_cv != it->toArray().cend(); it_cv++)
261 auto it_accession = it_cv->toMap().constFind(QCborValue(
"accession"));
262 if(it_accession->toString() ==
"MS:1000511")
264 auto it_value = it_cv->toMap().find(QCborValue(
"value"));
265 return (it_value.value().toInteger());
270 QObject::tr(
"ERROR: MS level not found in QcborSpectrum %1").arg(
getId()));
275 QObject::tr(
"ERROR: no cvparam in QcborSpectrum %1").arg(
getId()));
283 std::vector<pappso_double> xVector;
284 std::vector<pappso_double> yVector;
288 auto it = constFind(QCborValue(
"binaryDataArray"));
291 for(
auto it_binarr = it->toArray().cbegin(); it_binarr != it->toArray().cend(); it_binarr++)
301 else if(binary_array.
isMz())
310 QObject::tr(
"error in QcborSpectrum::decodeTrace binary vector "
319 QObject::tr(
"ERROR: no binaryDataArray in QcborSpectrum %1").arg(
getId()));
PSI BinaryDataArray object for mzML/mzCBOR.
A simple container of DataPoint instances.
size_t initialize(const std::vector< pappso_double > &xVector, const std::vector< pappso_double > &yVector)
std::size_t getDefaultArrayLength() const
void decodeTrace(pappso::Trace &trace) const
std::vector< QcborSpectrumPrecursor > getPrecursorList() const
double getRetentionTimeInSeconds() const
std::size_t getIndex() const
void setId(const QString &id)
void setPrecursorList(std::vector< QcborSpectrumPrecursor > &precursor_list)
void setIndex(std::size_t index)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Low level CBOR map to store an mzCBOR Spectrum object.
Low level CBOR map to store an mzCBOR Spectrum object.
PSI scan object for mzML/mzCBOR.
void fromQCborMap(const QCborMap &cbor_map)
void decodeVector(std::size_t estimated_length, std::vector< double > &double_list) const
void fromQCborMap(const QCborMap &reader)
double getRtInSeconds() const