120 ++cumulative_node_count;
127 node->size(cumulative_node_count);
155 if(iterNode !=
nullptr)
189 if(iterNode !=
nullptr)
203 bool with_descendants)
208 nodes.push_back(
this);
216 node->flattenedView(nodes, with_descendants);
227 bool with_descendants)
233 node->flattenedView(nodes, with_descendants);
240 std::vector<MsRunDataSetTreeNode *> &nodes,
241 bool with_descendants)
244 if(ms_level == (
depth + 1))
252 else if(ms_level > (
depth + 1))
259 node->flattenedViewMsLevelNodes(ms_level,
depth + 1, nodes, with_descendants);
265std::vector<MsRunDataSetTreeNode *>
268 std::vector<MsRunDataSetTreeNode *> &nodes)
270 if(precision_ptr ==
nullptr)
272 QObject::tr(
"Fatal error at msrundatasettreenode.cpp "
273 "-- ERROR precision_ptr cannot be nullptr. "
274 "Program aborted."));
280 if(mz != std::numeric_limits<double>::max())
288 if(mz >= lower_mz && mz <= upper_mz)
293 nodes.push_back(
this);
301 node->productNodesByPrecursorMz(precursor_mz, precision_ptr, nodes);
308std::vector<MsRunDataSetTreeNode *>
311 std::vector<MsRunDataSetTreeNode *> &nodes)
313 if(precision_ptr ==
nullptr)
315 QObject::tr(
"Fatal error at msrundatasettreenode.cpp "
316 "-- ERROR precision_ptr cannot be nullptr. "
317 "Program aborted."));
327 if(mz != std::numeric_limits<double>::max())
329 if(mz >= lower_mz && mz <= upper_mz)
336 std::size_t precursor_spectrum_index =
mcsp_massSpectrum->getPrecursorSpectrumIndex();
340 if(precursor_spectrum_index !=
343 QObject::tr(
"Fatal error at msrundatasettreenode.cpp "
344 "-- ERROR precursor_spectrum_index bad value. "
345 "Program aborted."));
347 nodes.push_back(found_node);
355 node->precursorIonNodesByPrecursorMz(precursor_mz, precision_ptr, nodes);
367 visitor.
visit(*
this);
374 node->accept(visitor);
402 std::size_t local_depth =
depth + 1;
404 std::size_t tmp_depth = 0;
405 std::size_t greatest_depth = 0;
411 tmp_depth = node->depth(local_depth);
415 if(tmp_depth > greatest_depth)
416 greatest_depth = tmp_depth;
421 return greatest_depth;
429 QString(
"mcsp_massSpectrum: %1 ; to string: %2 ; children: %3\n")
virtual void setNodesToProcessCount(std::size_t)=0
virtual bool visit(const MsRunDataSetTreeNode &node)=0
std::vector< MsRunDataSetTreeNode * > precursorIonNodesByPrecursorMz(pappso_double precursor_mz, PrecisionPtr precision_ptr, std::vector< MsRunDataSetTreeNode * > &nodes)
void flattenedView(std::vector< MsRunDataSetTreeNode * > &nodes, bool with_descendants=false)
void flattenedViewChildrenOnly(std::vector< MsRunDataSetTreeNode * > &nodes, bool with_descendants=false)
QualifiedMassSpectrumCstSPtr mcsp_massSpectrum
QString toString(bool with_data=false) const
QualifiedMassSpectrumCstSPtr getQualifiedMassSpectrum() const
void flattenedViewMsLevelNodes(std::size_t ms_level, std::size_t depth, std::vector< MsRunDataSetTreeNode * > &nodes, bool with_descendants=false)
std::size_t depth(std::size_t depth) const
void setParent(MsRunDataSetTreeNode *parent)
void size(std::size_t &cumulative_node_count) const
MsRunDataSetTreeNode * getParent() const
virtual ~MsRunDataSetTreeNode()
MsRunDataSetTreeNode * mp_parent
void accept(MsRunDataSetTreeNodeVisitorInterface &visitor)
void setQualifiedMassSpectrum(QualifiedMassSpectrumCstSPtr qualified_mass_spectrum_csp)
MsRunDataSetTreeNode * findNode(std::size_t spectrum_index)
std::vector< MsRunDataSetTreeNode * > m_children
std::vector< MsRunDataSetTreeNode * > productNodesByPrecursorMz(pappso_double precursor_mz, PrecisionPtr precision_ptr, std::vector< MsRunDataSetTreeNode * > &nodes)
MsRunDataSetTreeNode & operator=(const MsRunDataSetTreeNode &other)
virtual pappso_double delta(pappso_double value) const =0
Class representing a fully specified mass spectrum.
static QString pointerToString(const void *const pointer)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
double pappso_double
A type definition for doubles.
std::shared_ptr< const QualifiedMassSpectrum > QualifiedMassSpectrumCstSPtr
const PrecisionBase * PrecisionPtr