45 if(reader.enterContainer())
47 while(reader.hasNext() && (!reader.isInvalid()))
52 qDebug() << txt_value;
56 qDebug() << txt_value;
59 else if(txt_value ==
"index")
61 index = reader.toUnsignedInteger();
64 else if(txt_value ==
"defaultArrayLength")
69 else if(txt_value ==
"cvParam")
73 else if(txt_value ==
"scanList")
76 reader.enterContainer();
78 while(reader.hasNext() && (!reader.isInvalid()))
84 qDebug() << txt_value;
85 if(txt_value ==
"cvParam")
89 else if(txt_value ==
"scan")
92 reader.enterContainer();
93 while(reader.hasNext())
98 reader.leaveContainer();
111 reader.leaveContainer();
113 else if(txt_value ==
"precursorList")
116 reader.enterContainer();
118 while(reader.hasNext() && (!reader.isInvalid()))
120 if(reader.isString())
124 qDebug() << txt_value;
126 if(txt_value ==
"cvParam")
130 else if(txt_value ==
"precursor")
136 while(reader.hasNext() && (!reader.isInvalid()))
163 reader.leaveContainer();
165 else if(txt_value ==
"binaryDataArray")
170 reader.enterContainer();
172 while(reader.hasNext())
180 reader.leaveContainer();
195 reader.leaveContainer();
200std::map<QString, pappso::cbor::mzcbor::CvParam>
203 std::map<QString, CvParam> cv_params;
204 reader.enterContainer();
207 while(reader.hasNext() && (!reader.isInvalid()))
209 if(reader.isString())
213 qDebug() << txt_value;
214 if(txt_value ==
"cvParam")
230 reader.leaveContainer();
240 auto it = cvParamMap.find(
"MS:1000511");
241 if(it == cvParamMap.end())
245 qDebug() << it->first <<
" " << it->second.valueInt;
246 return it->second.valueInt;
255 auto it = scanCvParamMap.find(
"MS:1000016");
256 if(it == scanCvParamMap.end())
260 double rt_seconds = it->second.valueDouble;
261 if(it->second.unitAccession ==
"UO:0000031")
264 rt_seconds = rt_seconds * 60;
272 std::vector<pappso_double> xVector;
273 std::vector<pappso_double> yVector;
274 for(
auto &binary_array : binaryDataArrayList)
276 if(binary_array.isIntensity())
278 binary_array.decodeVector(defaultArrayLength, yVector);
280 else if(binary_array.isMz())
282 binary_array.decodeVector(defaultArrayLength, xVector);
288 "error in pappso::cbor::mzcbor::Spectrum::decodeTrace: binary vector type not found"));
A simple container of DataPoint instances.
size_t initialize(const std::vector< pappso_double > &xVector, const std::vector< pappso_double > &yVector)
bool decodeString(QString &the_str)
decode the current cbor value as a string the point to the next value the current value is decoded as...
PSI spectrum object for mzML/mzCBOR.
void fromCbor(CborStreamReader &reader)
static std::map< QString, pappso::cbor::mzcbor::CvParam > getCvParamsMapFromCbor(CborStreamReader &reader)
void fromCbor(CborStreamReader &reader)
std::map< QString, pappso::cbor::mzcbor::CvParam > cvParamMap
void decodeTrace(pappso::Trace &trace)
static std::map< QString, pappso::cbor::mzcbor::CvParam > readScanCvParams(CborStreamReader &reader)
std::vector< Precursor > precursorList
QCborMap cborBinaryDataArray
void fromCbor(CborStreamReader &reader, bool want_binary_data)
double getRtInSeconds() const
std::map< QString, pappso::cbor::mzcbor::CvParam > scanListCvParamMap
std::map< QString, pappso::cbor::mzcbor::CvParam > scanCvParamMap
std::vector< BinaryDataArray > binaryDataArrayList
std::map< QString, pappso::cbor::mzcbor::CvParam > precursorListCvParamMap
std::size_t defaultArrayLength