IsoSpec  2.1.2
Public Member Functions | List of all members
IsoSpec::LayeredMarginal Class Reference

LayeredMarginal class. More...

#include <marginalTrek++.h>

Inheritance diagram for IsoSpec::LayeredMarginal:
IsoSpec::Marginal

Public Member Functions

 LayeredMarginal (Marginal &&m, int tabSize=1000, int hashSize=1000)
 Move constructor: specializes the Marginal class. More...
 
 LayeredMarginal (const LayeredMarginal &other)=delete
 
LayeredMarginaloperator= (const LayeredMarginal &other)=delete
 
bool extend (double new_threshold, bool do_sort=true)
 Extend the set of computed subisotopologues to those above the new threshold. More...
 
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 lProbs array. Accessing index -1 is legal and returns a guardian of -inf. Warning: The pointer gets invalidated on calls to extend()
 
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. More...
 
- Public Member Functions inherited from IsoSpec::Marginal
 Marginal (const double *_masses, const double *_probs, int _isotopeNo, int _atomCnt)
 Class constructor. More...
 
Marginaloperator= (const Marginal &other)=delete
 
 Marginal (const Marginal &other)
 Copy constructor.
 
 Marginal (Marginal &&other)
 Move constructor.
 
virtual ~Marginal ()
 Destructor.
 
int get_isotopeNo () const
 Get the number of isotopes of the investigated element. More...
 
const double * get_lProbs () const
 
double getLightestConfMass () const
 Get the mass of the lightest subisotopologue. More...
 
double getHeaviestConfMass () const
 Get the mass of the heaviest subisotopologue. More...
 
double getMonoisotopicConfMass () const
 Get the mass of the monoisotopic subisotopologue. More...
 
double getModeMass ()
 The the mass of the mode subisotopologue. More...
 
double getModeLProb ()
 Get the log-probability of the mode subisotopologue. More...
 
double fastGetModeLProb ()
 Get the log-probability of the mode subisotopologue. Results undefined if ensureModeConf() wasn't called before.
 
Conf computeModeConf () const
 The the probability of the mode subisotopologue. More...
 
double getSmallestLProb () const
 The the log-probability of the lightest subisotopologue. More...
 
double getAtomAverageMass () const
 The average mass of a single atom. More...
 
double getTheoreticalAverageMass () const
 The theoretical average mass of the molecule. More...
 
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 ()
 

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. More...
 
ISOSPEC_FORCE_INLINE double logProb (Conf conf) const
 
- 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

LayeredMarginal class.

An extendable version of the PrecalculatedMarginal, where you can extend the threshold at will.

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

Constructor & Destructor Documentation

◆ LayeredMarginal()

IsoSpec::LayeredMarginal::LayeredMarginal ( Marginal &&  m,
int  tabSize = 1000,
int  hashSize = 1000 
)

Move constructor: specializes the Marginal class.

Parameters
tabSizeThe size of the table used to store configurations in the allocator.
hashSizeThe size of the hash table used to store visited subisotopologues.

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

Member Function Documentation

◆ extend()

bool IsoSpec::LayeredMarginal::extend ( double  new_threshold,
bool  do_sort = true 
)

Extend the set of computed subisotopologues to those above the new threshold.

Parameters
new_thresholdThe 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 529 of file marginalTrek++.cpp.

◆ getModeLProb()

double IsoSpec::LayeredMarginal::getModeLProb ( ) const
inline

Get the log-probability of the mode subisotopologue.

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

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


The documentation for this class was generated from the following files: