IsoSpec  2.1.2
Public Member Functions | Protected Attributes | List of all members
IsoSpec::PrecalculatedMarginal Class Reference

Precalculated Marginal class. More...

#include <marginalTrek++.h>

Inheritance diagram for IsoSpec::PrecalculatedMarginal:
IsoSpec::Marginal

Public Member Functions

 PrecalculatedMarginal (Marginal &&m, double lCutOff, bool sort=true, int tabSize=1000, int hashSize=1000)
 The move constructor (disowns the Marginal). More...
 
 PrecalculatedMarginal (const PrecalculatedMarginal &other)=delete
 
PrecalculatedMarginaloperator= (const PrecalculatedMarginal &other)=delete
 
virtual ~PrecalculatedMarginal ()
 Destructor.
 
bool inRange (unsigned int idx) const
 Is there a subisotopologue with a given number? More...
 
const double & get_lProb (int idx) const
 Get the log-probability of the idx-th subisotopologue. More...
 
const double & get_prob (int idx) const
 Get the probability of the idx-th subisotopologue. More...
 
const double & get_mass (int idx) const
 Get the mass of the idx-th subisotopologue. More...
 
const double * get_lProbs_ptr () const
 Get the table of the log-probabilities of subisotopologues. More...
 
const double * get_masses_ptr () const
 Get the table of the masses of subisotopologues. More...
 
const Conf & get_conf (int idx) const
 Get the counts of isotopes that define the subisotopologue. More...
 
unsigned int get_no_confs () const
 Get the number of precomputed subisotopologues. More...
 
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 ()
 

Protected Attributes

pod_vector< Conf > configurations
 
Conf * confs
 
unsigned int no_confs
 
double * masses
 
pod_vector< double > lProbs
 
double * probs
 
Allocator< int > allocator
 
- 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
 

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
 

Detailed Description

Precalculated Marginal class.

This class serves to calculate a set of isotopologues that is defined by the minimal probability threshold.

This works faster than if you did not know the threshold. If you have no idea about the threshold, you would need to call us, to change encode the layered version of the marginal.

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

Constructor & Destructor Documentation

◆ PrecalculatedMarginal()

IsoSpec::PrecalculatedMarginal::PrecalculatedMarginal ( Marginal &&  m,
double  lCutOff,
bool  sort = true,
int  tabSize = 1000,
int  hashSize = 1000 
)

The move constructor (disowns the Marginal).

This constructor memoizes all subisotopologues with log-probability above the provided threshold lCutOff

Parameters
MarginalAn instance of the Marginal class this class is about to disown.
lCutOffThe lower limit on the log-probability of the precomputed subisotopologues.
sortShould the subisotopologues be stored with descending probability ?
Returns
An instance of the PrecalculatedMarginal class.

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

Member Function Documentation

◆ get_conf()

const Conf& IsoSpec::PrecalculatedMarginal::get_conf ( int  idx) const
inline

Get the counts of isotopes that define the subisotopologue.

Parameters
idxThe number of the considered subisotopologue.
Returns
The counts of isotopes that define the subisotopologue.

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

◆ get_lProb()

const double& IsoSpec::PrecalculatedMarginal::get_lProb ( int  idx) const
inline

Get the log-probability of the idx-th subisotopologue.

Parameters
idxThe number of the considered subisotopologue.
Returns
The log-probability of the idx-th subisotopologue.

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

◆ get_lProbs_ptr()

const double* IsoSpec::PrecalculatedMarginal::get_lProbs_ptr ( ) const
inline

Get the table of the log-probabilities of subisotopologues.

Returns
Pointer to the first element in the table storing log-probabilities of subisotopologues.

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

◆ get_mass()

const double& IsoSpec::PrecalculatedMarginal::get_mass ( int  idx) const
inline

Get the mass of the idx-th subisotopologue.

Parameters
idxThe number of the considered subisotopologue.
Returns
The mass of the idx-th subisotopologue.

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

◆ get_masses_ptr()

const double* IsoSpec::PrecalculatedMarginal::get_masses_ptr ( ) const
inline

Get the table of the masses of subisotopologues.

Returns
Pointer to the first element in the table storing masses of subisotopologues.

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

◆ get_no_confs()

unsigned int IsoSpec::PrecalculatedMarginal::get_no_confs ( ) const
inline

Get the number of precomputed subisotopologues.

Returns
The number of precomputed subisotopologues.

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

◆ get_prob()

const double& IsoSpec::PrecalculatedMarginal::get_prob ( int  idx) const
inline

Get the probability of the idx-th subisotopologue.

Parameters
idxThe number of the considered subisotopologue.
Returns
The probability of the idx-th subisotopologue.

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

◆ getModeLProb()

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

Get the log-probability of the mode subisotopologue.

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

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

◆ inRange()

bool IsoSpec::PrecalculatedMarginal::inRange ( unsigned int  idx) const
inline

Is there a subisotopologue with a given number?

Returns
Returns true if idx does not exceed the number of pre-computed configurations.

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


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