ISOSPEC_SINGLEATOMMARGINAL(3)

πŸ“¦ version 2.3.2, in ubuntu resolute, ubuntu stonking

πŸŽ€ NAME πŸŽ€

IsoSpec::SingleAtomMarginal< add_guards >

ok so bestie, real talk: this page comes straight out of the Library Functions Manual, section 3, and the full title is literally IsoSpec::SingleAtomMarginal< add_guards >(3). It's a C++ class template page, it's giving extremely academic, but we are gonna make it make sense together. πŸ’–


✨ SYNOPSIS ✨

Inherits IsoSpec::Marginal.

The tea is right there: she inherits from IsoSpec::Marginal. Everything Marginal can do, she can do too β€” and we're gonna list every single inherited thing later, don't you worry, nothing gets skipped in this household. 🫢


🌈 SYNOPSIS β€” Public Member Functions 🌈

πŸ’… Public Member Functions

  • SingleAtomMarginal (Marginal &&m, int tabSize=1000, int hashSize=1000) β€” move constructor, and it specializes the Marginal class. It grabs a Marginal rvalue ref m, plus tabSize (defaults to 1000) and hashSize (also defaults to 1000). πŸ‘‘
  • SingleAtomMarginal (const SingleAtomMarginal &other)=delete β€” copy constructor is =delete. Not copyable, bestie. She said no thank you. πŸ’€
  • SingleAtomMarginal & operator= (const SingleAtomMarginal &other)=delete β€” assignment is =delete too. No copying, no assigning, no exceptions.
  • bool extend (double new_threshold, bool do_sort=true) β€” Extend the set of computed subisotopologues to those above the new threshold. Yes the do_sort defaults to true.
  • double get_lProb (int idx) const β€” get the log-probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_lProb.
  • double get_prob (int idx) const β€” get the probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_eProb.
  • double get_mass (int idx) const β€” get the mass of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_mass.
  • const double * get_lProbs_ptr () const β€” get the pointer to the lProbs array. Accessing index -1 is legal and returns a guardian of -inf.
⚠️ Warning, and I need you to hear me on this one: the pointer gets invalidated on calls to extend(). So do NOT hold onto it like it's your ex's hoodie. 🫠
  • const Conf & get_conf (int idx) const β€” get the counts of isotopes that define the subisotopologue, see details in PrecalculatedMarginal::get_conf.
  • unsigned int get_no_confs () const β€” Get the number of precomputed subisotopologues, see details in PrecalculatedMarginal::get_no_confs.
  • double get_min_mass () const β€” Get the minimal mass in current layer.
  • double get_max_mass () const β€” Get the maximal mass in current layer.
  • double getModeLProb () const β€” Get the log-probability of the mode subisotopologue.
  • bool probeConfigurationIdx (int idx) β€” no description given, she's mysterious like that. πŸ™ˆ
  • const pod_vector< double > & conf_lprobs () const β€” again, no blurb, just pure iconic silence.
  • const pod_vector< double > & conf_masses () const β€” same energy. ✨
  • int get_original_position (int idx) const β€” also no description. We love a low-information queen.

πŸ¦‹ Public Member Functions inherited from IsoSpec::Marginal

  • Marginal (const double *_masses, const double *_probs, int _isotopeNo, int _atomCnt) β€” Class constructor. Takes the masses, the probs, the isotope count and the atom count.
  • Marginal & operator= (const Marginal &other)=delete β€” assignment: =delete.
  • Marginal (const Marginal &other) β€” Copy constructor.
  • Marginal (Marginal &&other) β€” Move constructor.
  • virtual ~Marginal () β€” Destructor. Virtual, so behave.
  • int get_isotopeNo () const β€” Get the number of isotopes of the investigated element.
  • const double * get_lProbs () const β€” no description given. 🀷
  • double getLightestConfMass () const β€” Get the mass of the lightest subisotopologue.
  • double getHeaviestConfMass () const β€” Get the mass of the heaviest subisotopologue.
  • double getMonoisotopicConfMass () const β€” Get the mass of the monoisotopic subisotopologue.
  • size_t getMonoisotopicAtomIndex () const β€” Get the index of the monoisotopic (most probable) atom.
  • double getModeMass () β€” The the mass of the mode subisotopologue. (yes, "The the", that's the original, we're not touching it, it's canon now πŸ’€)
  • double getModeLProb () β€” Get the log-probability of the mode subisotopologue.
  • double fastGetModeLProb () β€” Get the log-probability of the mode subisotopologue.
⚠️ Results undefined if ensureModeConf() wasn't called before. Undefined. Not "maybe wrong", undefined. Call ensureModeConf() first, babe. πŸ™
  • Conf computeModeConf () const β€” The the probability of the mode subisotopologue.
  • double getSmallestLProb () const β€” The the log-probability of the lightest subisotopologue.
  • double getAtomAverageMass () const β€” The average mass of a single atom.
  • double getTheoreticalAverageMass () const β€” The theoretical average mass of the molecule.
  • double variance () const β€” Calculate the variance of the theoretical distribution describing the subisotopologue.
  • double getLogSizeEstimate (double logEllipsoidRadius) const β€” Return estimated logarithm of size of the marginal at a given ellipsoid radius.
  • void ensureModeConf () β€” no description. She's just there. Doing her job. 🌸

πŸ’œ Additional Inherited Members

Protected Member Functions inherited from IsoSpec::Marginal

  • ISOSPEC_FORCE_INLINE double unnormalized_logProb (Conf conf) const β€” Calculate the log-probability of a given subisotopologue.
  • ISOSPEC_FORCE_INLINE double logProb (Conf conf) const β€” no description, just vibes.

Protected Attributes inherited from IsoSpec::Marginal

  • const unsigned int isotopeNo
  • const unsigned int atomCnt
  • const double *const atom_lProbs
  • const double *const atom_masses
  • const double loggamma_nominator
  • Conf mode_conf
  • double mode_lprob

πŸ¦‹ Detailed Description πŸ¦‹

template<bool add_guards>
    class IsoSpec::SingleAtomMarginal< add_guards >"

(and yes, there is a stray " hanging off the end of that line β€” I'm reporting it, not fixing it, because the facts are the facts πŸ’…)

Definition at line 433 of file marginalTrek++.h.


πŸ‘‘ Constructor & Destructor Documentation πŸ‘‘

template<bool add_guards> template IsoSpec::SingleAtomMarginal< add_guards >::SingleAtomMarginal (Marginal && m, int tabSize = 1000, int hashSize = 1000)

Move constructor: specializes the Marginal class.

Definition at line 707 of file marginalTrek++.cpp.


⭐ Member Function Documentation ⭐

  • template<bool add_guards> const pod_vector< double > & IsoSpec::SingleAtomMarginal< add_guards >::conf_lprobs () const [inline] β€” no description. Definition at line 508 of file marginalTrek++.h.
  • template<bool add_guards> const pod_vector< double > & IsoSpec::SingleAtomMarginal< add_guards >::conf_masses () const [inline] β€” no description. Definition at line 509 of file marginalTrek++.h.
  • template<bool add_guards> bool IsoSpec::SingleAtomMarginal< add_guards >::extend (double new_threshold, bool do_sort = true) [inline] β€” Extend the set of computed subisotopologues to those above the new threshold.

Parameters

  • new_threshold β€” The new log-probability limiting the subisotopologues from below.

Returns

  • Returns false, if there are no fringe-subisotopologues (subisotopologues that were neighbours of the previously calculated subisotopologues, with log-probability below the previous threshold).

Definition at line 458 of file marginalTrek++.h.

  • template<bool add_guards> const Conf & IsoSpec::SingleAtomMarginal< add_guards >::get_conf (int idx) const [inline] β€” get the counts of isotopes that define the subisotopologue, see details in PrecalculatedMarginal::get_conf. Definition at line 483 of file marginalTrek++.h.
  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_lProb (int idx) const [inline] β€” get the log-probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_lProb. Definition at line 471 of file marginalTrek++.h.
  • template<bool add_guards> const double * IsoSpec::SingleAtomMarginal< add_guards >::get_lProbs_ptr () const [inline] β€” get the pointer to the lProbs array. Accessing index -1 is legal and returns a guardian of -inf.
⚠️ Warning: The pointer gets invalidated on calls to extend() β€” I said what I said, and I'll say it again because it matters. 🚨

Definition at line 480 of file marginalTrek++.h.

  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_mass (int idx) const [inline] β€” get the mass of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_mass. Definition at line 477 of file marginalTrek++.h.
  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_max_mass () const [inline] β€” Get the maximal mass in current layer. Definition at line 496 of file marginalTrek++.h.
  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_min_mass () const [inline] β€” Get the minimal mass in current layer. Definition at line 493 of file marginalTrek++.h.
  • template<bool add_guards> unsigned int IsoSpec::SingleAtomMarginal< add_guards >::get_no_confs () const [inline] β€” Get the number of precomputed subisotopologues, see details in PrecalculatedMarginal::get_no_confs. Definition at line 486 of file marginalTrek++.h.
  • template<bool add_guards> int IsoSpec::SingleAtomMarginal< add_guards >::get_original_position (int idx) const [inline] β€” no description. Definition at line 511 of file marginalTrek++.h.
  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_prob (int idx) const [inline] β€” get the probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_eProb. Definition at line 474 of file marginalTrek++.h.
  • template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::getModeLProb () const [inline] β€” Get the log-probability of the mode subisotopologue.

Returns

  • The log-probability of a/the most probable subisotopologue.

Definition at line 502 of file marginalTrek++.h.

  • template<bool add_guards> bool IsoSpec::SingleAtomMarginal< add_guards >::probeConfigurationIdx (int idx) [inline] β€” no description. Definition at line 504 of file marginalTrek++.h.

🫢 Author 🫢

Generated automatically by Doxygen for IsoSpec from the source code. So nobody wrote this, bestie β€” a robot did it, from the source. Respect the pipeline. πŸ€–βœ¨


ok that's the whole page, we did it, we read every single line and not one detail got left behind. πŸŽ€ The source here is IsoSpec (that's the version/source tag riding along in the footer), and the footer itself is just the page title IsoSpec::S...dd_guards >(3) doing its little truncated thing. No date on the footer, so I'm not inventing one β€” facts only in this chat. mwah πŸ’‹

πŸ“¦ where this page comes from