ISOSPEC_SINGLEATOMMARGINAL(3)
π 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 theMarginalclass. It grabs aMarginalrvalue refm, plustabSize(defaults to1000) andhashSize(also defaults to1000). π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=deletetoo. 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 thedo_sortdefaults totrue.double get_lProb (int idx) constβ get the log-probability of the idx-th subisotopologue, see details inPrecalculatedMarginal::get_lProb.double get_prob (int idx) constβ get the probability of the idx-th subisotopologue, see details inPrecalculatedMarginal::get_eProb.double get_mass (int idx) constβ get the mass of the idx-th subisotopologue, see details inPrecalculatedMarginal::get_mass.const double * get_lProbs_ptr () constβ get the pointer to thelProbsarray. Accessing index-1is 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 inPrecalculatedMarginal::get_conf.unsigned int get_no_confs () constβ Get the number of precomputed subisotopologues, see details inPrecalculatedMarginal::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 ifensureModeConf()wasn't called before. Undefined. Not "maybe wrong", undefined. CallensureModeConf()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 isotopeNoconst unsigned int atomCntconst double *const atom_lProbsconst double *const atom_massesconst double loggamma_nominatorConf mode_confdouble 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 line508of filemarginalTrek++.h.template<bool add_guards> const pod_vector< double > & IsoSpec::SingleAtomMarginal< add_guards >::conf_masses () const [inline]β no description. Definition at line509of filemarginalTrek++.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 inPrecalculatedMarginal::get_conf. Definition at line483of filemarginalTrek++.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 inPrecalculatedMarginal::get_lProb. Definition at line471of filemarginalTrek++.h.template<bool add_guards> const double * IsoSpec::SingleAtomMarginal< add_guards >::get_lProbs_ptr () const [inline]β get the pointer to thelProbsarray. Accessing index-1is 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 inPrecalculatedMarginal::get_mass. Definition at line477of filemarginalTrek++.h.template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_max_mass () const [inline]β Get the maximal mass in current layer. Definition at line496of filemarginalTrek++.h.template<bool add_guards> double IsoSpec::SingleAtomMarginal< add_guards >::get_min_mass () const [inline]β Get the minimal mass in current layer. Definition at line493of filemarginalTrek++.h.template<bool add_guards> unsigned int IsoSpec::SingleAtomMarginal< add_guards >::get_no_confs () const [inline]β Get the number of precomputed subisotopologues, see details inPrecalculatedMarginal::get_no_confs. Definition at line486of filemarginalTrek++.h.template<bool add_guards> int IsoSpec::SingleAtomMarginal< add_guards >::get_original_position (int idx) const [inline]β no description. Definition at line511of filemarginalTrek++.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 inPrecalculatedMarginal::get_eProb. Definition at line474of filemarginalTrek++.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 line504of filemarginalTrek++.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
- ubuntu resolute: libisospec++-dev 2.3.2-1build1 Β· BSD-2-Clause
- ubuntu stonking: libisospec++-dev 2.3.2-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms