.TH "IsoSpec::Marginal" 3 "Thu Oct 15 2020" "Version 2.1.3" "IsoSpec" \" -*- nroff -*- .ad l .nh .SH NAME IsoSpec::Marginal \- The marginal distribution class (a subisotopologue)\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherited by \fBIsoSpec::LayeredMarginal\fP, \fBIsoSpec::MarginalTrek\fP, and \fBIsoSpec::PrecalculatedMarginal\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBMarginal\fP (const double *_masses, const double *_probs, int _isotopeNo, int _atomCnt)" .br .RI "Class constructor\&. " .ti -1c .RI "\fBMarginal\fP & \fBoperator=\fP (const \fBMarginal\fP &other)=delete" .br .ti -1c .RI "\fBMarginal\fP (const \fBMarginal\fP &other)" .br .RI "Copy constructor\&. " .ti -1c .RI "\fBMarginal\fP (\fBMarginal\fP &&other)" .br .RI "Move constructor\&. " .ti -1c .RI "virtual \fB~Marginal\fP ()" .br .RI "Destructor\&. " .ti -1c .RI "int \fBget_isotopeNo\fP () const" .br .RI "Get the number of isotopes of the investigated element\&. " .ti -1c .RI "const double * \fBget_lProbs\fP () const" .br .ti -1c .RI "double \fBgetLightestConfMass\fP () const" .br .RI "Get the mass of the lightest subisotopologue\&. " .ti -1c .RI "double \fBgetHeaviestConfMass\fP () const" .br .RI "Get the mass of the heaviest subisotopologue\&. " .ti -1c .RI "double \fBgetMonoisotopicConfMass\fP () const" .br .RI "Get the mass of the monoisotopic subisotopologue\&. " .ti -1c .RI "double \fBgetModeMass\fP ()" .br .RI "The the mass of the mode subisotopologue\&. " .ti -1c .RI "double \fBgetModeLProb\fP ()" .br .RI "Get the log-probability of the mode subisotopologue\&. " .ti -1c .RI "double \fBfastGetModeLProb\fP ()" .br .RI "Get the log-probability of the mode subisotopologue\&. Results undefined if ensureModeConf() wasn't called before\&. " .ti -1c .RI "Conf \fBcomputeModeConf\fP () const" .br .RI "The the probability of the mode subisotopologue\&. " .ti -1c .RI "double \fBgetSmallestLProb\fP () const" .br .RI "The the log-probability of the lightest subisotopologue\&. " .ti -1c .RI "double \fBgetAtomAverageMass\fP () const" .br .RI "The average mass of a single atom\&. " .ti -1c .RI "double \fBgetTheoreticalAverageMass\fP () const" .br .RI "The theoretical average mass of the molecule\&. " .ti -1c .RI "double \fBvariance\fP () const" .br .RI "Calculate the variance of the theoretical distribution describing the subisotopologue\&. " .ti -1c .RI "double \fBgetLogSizeEstimate\fP (double logEllipsoidRadius) const" .br .RI "Return estimated logarithm of size of the marginal at a given ellipsoid radius\&. " .ti -1c .RI "void \fBensureModeConf\fP ()" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "ISOSPEC_FORCE_INLINE double \fBunnormalized_logProb\fP (Conf conf) const" .br .RI "Calculate the log-probability of a given subisotopologue\&. " .ti -1c .RI "ISOSPEC_FORCE_INLINE double \fBlogProb\fP (Conf conf) const" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "const unsigned int \fBisotopeNo\fP" .br .ti -1c .RI "const unsigned int \fBatomCnt\fP" .br .ti -1c .RI "const double *const \fBatom_lProbs\fP" .br .ti -1c .RI "const double *const \fBatom_masses\fP" .br .ti -1c .RI "const double \fBloggamma_nominator\fP" .br .ti -1c .RI "Conf \fBmode_conf\fP" .br .ti -1c .RI "double \fBmode_lprob\fP" .br .in -1c .SH "Detailed Description" .PP The marginal distribution class (a subisotopologue)\&. This class mostly provides some basic common API for subclasses, but itself is not abstract\&. This class represents the probability distribution generated by one element only -- a subisotopologue\&. For instance, it might be the distribution of C200, that might be part of, say, C200H402\&. It corresponds to the multinomial distribution, where each configuration can also be attributed a precise mass\&. The constructor method perform initial hill-climbing to find the most probable sub-isotopologue (the mode)\&. .PP Definition at line 42 of file marginalTrek++\&.h\&. .SH "Constructor & Destructor Documentation" .PP .SS "IsoSpec::Marginal::Marginal (const double * _masses, const double * _probs, int _isotopeNo, int _atomCnt)" .PP Class constructor\&. .PP \fBParameters\fP .RS 4 \fI_masses\fP A table of masses of the stable isotopes of the investigated element, e\&.g\&. for C10 it is 2: C12 and C13\&. .br \fI_probs\fP A table of natural frequencies of the stable isotopes of the investigated element, see IUPAC at https://iupac.org/isotopesmatter/ .br \fI_isotopeNo\fP Number of isotopes of a given element\&. .br \fI_atomCnt\fP The number of atoms of the given element, e\&.g\&. 10 for C10\&. .RE .PP \fBReturns\fP .RS 4 An instance of the \fBMarginal\fP class\&. .RE .PP .PP Definition at line 165 of file marginalTrek++\&.cpp\&. .SH "Member Function Documentation" .PP .SS "Conf IsoSpec::Marginal::computeModeConf () const" .PP The the probability of the mode subisotopologue\&. .PP \fBReturns\fP .RS 4 The probability of a/the most probable subisotopologue\&. Computes and returns the mode configuration, a isotopeNo-large array that the caller is responsible for delete[]-ing\&. .RE .PP .PP Definition at line 235 of file marginalTrek++\&.cpp\&. .SS "int IsoSpec::Marginal::get_isotopeNo () const\fC [inline]\fP" .PP Get the number of isotopes of the investigated element\&. .PP \fBReturns\fP .RS 4 The integer number of isotopes of the investigated element\&. .RE .PP .PP Definition at line 88 of file marginalTrek++\&.h\&. .SS "double IsoSpec::Marginal::getAtomAverageMass () const" .PP The average mass of a single atom\&. .PP \fBReturns\fP .RS 4 The average mass of a single atom\&. .RE .PP .PP Definition at line 281 of file marginalTrek++\&.cpp\&. .SS "double IsoSpec::Marginal::getHeaviestConfMass () const" .PP Get the mass of the heaviest subisotopologue\&. This is trivially obtained by considering all atomNo atoms to be the heaviest isotope possible\&. .PP \fBReturns\fP .RS 4 The mass of the heaviest subisotopologue\&. .RE .PP .PP Definition at line 259 of file marginalTrek++\&.cpp\&. .SS "double IsoSpec::Marginal::getLightestConfMass () const" .PP Get the mass of the lightest subisotopologue\&. This is trivially obtained by considering all atomNo atoms to be the lightest isotope possible\&. .PP \fBReturns\fP .RS 4 The mass of the lightiest subisotopologue\&. .RE .PP .PP Definition at line 250 of file marginalTrek++\&.cpp\&. .SS "double IsoSpec::Marginal::getModeLProb ()\fC [inline]\fP" .PP Get the log-probability of the mode subisotopologue\&. .PP \fBReturns\fP .RS 4 The log-probability of a/the most probable subisotopologue\&. .RE .PP .PP Definition at line 121 of file marginalTrek++\&.h\&. .SS "double IsoSpec::Marginal::getModeMass ()\fC [inline]\fP" .PP The the mass of the mode subisotopologue\&. .PP \fBReturns\fP .RS 4 The mass of one of the most probable subisotopologues\&. .RE .PP .PP Definition at line 115 of file marginalTrek++\&.h\&. .SS "double IsoSpec::Marginal::getMonoisotopicConfMass () const" .PP Get the mass of the monoisotopic subisotopologue\&. The monoisotopic subisotopologue is defined as the molecule consiting only of the most likely isotope\&. This is frequently the lightest subisotopologue, making this frequently (but not always) equal to \fBgetLightestConfMass()\fP .PP Definition at line 268 of file marginalTrek++\&.cpp\&. .SS "double IsoSpec::Marginal::getSmallestLProb () const\fC [inline]\fP" .PP The the log-probability of the lightest subisotopologue\&. .PP \fBReturns\fP .RS 4 The logarithm of the smallest non-zero probability of a subisotopologue\&. .RE .PP .PP Definition at line 139 of file marginalTrek++\&.h\&. .SS "double IsoSpec::Marginal::getTheoreticalAverageMass () const\fC [inline]\fP" .PP The theoretical average mass of the molecule\&. .PP \fBReturns\fP .RS 4 The theoretical average mass of the molecule\&. .RE .PP .PP Definition at line 151 of file marginalTrek++\&.h\&. .SS "ISOSPEC_FORCE_INLINE double IsoSpec::Marginal::unnormalized_logProb (Conf conf) const\fC [inline]\fP, \fC [protected]\fP" .PP Calculate the log-probability of a given subisotopologue\&. .PP \fBParameters\fP .RS 4 \fIconf\fP A subisotopologue (a table of integers describing subsequent isotope-counts)\&. .RE .PP \fBReturns\fP .RS 4 The log-probability of the input subisotopologue\&. .RE .PP .PP Definition at line 159 of file marginalTrek++\&.h\&. .SH "Member Data Documentation" .PP .SS "const double* const IsoSpec::Marginal::atom_lProbs\fC [protected]\fP" Table of log-probabilities of all the isotopeNo isotopes\&. .PP Definition at line 49 of file marginalTrek++\&.h\&. .SS "const double* const IsoSpec::Marginal::atom_masses\fC [protected]\fP" Table of atomic masses of all the isotopeNo isotopes\&. .PP Definition at line 50 of file marginalTrek++\&.h\&. .SS "const unsigned int IsoSpec::Marginal::atomCnt\fC [protected]\fP" The number of atoms of the given element\&. .PP Definition at line 48 of file marginalTrek++\&.h\&. .SS "const unsigned int IsoSpec::Marginal::isotopeNo\fC [protected]\fP" The number of isotopes of the given element\&. .PP Definition at line 47 of file marginalTrek++\&.h\&. .SS "const double IsoSpec::Marginal::loggamma_nominator\fC [protected]\fP" The constant nominator that appears in the expressions for the multinomial probabilities\&. .PP Definition at line 51 of file marginalTrek++\&.h\&. .SS "Conf IsoSpec::Marginal::mode_conf\fC [protected]\fP" A subisotopologue with most probability\&. If not unique, one of the representatives of that class of subisotopologues\&. .PP Definition at line 52 of file marginalTrek++\&.h\&. .SS "double IsoSpec::Marginal::mode_lprob\fC [protected]\fP" The log-probability of the mode subisotopologue\&. .PP Definition at line 53 of file marginalTrek++\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for IsoSpec from the source code\&.