IsoSpec  1.95
Public Member Functions | Protected Attributes | List of all members
IsoSpec::IsoGenerator Class Referenceabstract

The generator of isotopologues. More...

#include <isoSpec++.h>

Inheritance diagram for IsoSpec::IsoGenerator:
IsoSpec::Iso IsoSpec::IsoLayeredGenerator IsoSpec::IsoOrderedGenerator IsoSpec::IsoThresholdGenerator

Public Member Functions

virtual bool advanceToNextConfiguration ()=0
 Advance to the next, not yet visited, most probable isotopologue. More...
 
virtual ISOSPEC_FORCE_INLINE bool advanceToNextConfigurationWithinLayer ()
 
virtual ISOSPEC_FORCE_INLINE bool nextLayer (double)
 
virtual double lprob () const
 Get the log-probability of the current isotopologue. More...
 
virtual double mass () const
 Get the mass of the current isotopologue. More...
 
virtual double prob () const
 Get the probability of the current isotopologue. More...
 
virtual void get_conf_signature (int *space) const =0
 Write the signature of configuration into target memory location. It must be large enough to accomodate it.
 
 IsoGenerator (Iso &&iso, bool alloc_partials=true)
 Move constructor.
 
virtual ~IsoGenerator ()
 Destructor.
 
- Public Member Functions inherited from IsoSpec::Iso
 Iso (int _dimNumber, const int *_isotopeNumbers, const int *_atomCounts, const double *const *_isotopeMasses, const double *const *_isotopeProbabilities)
 General constructror. More...
 
 Iso (const char *formula)
 Constructor from the formula object.
 
 Iso (const std::string &formula)
 Constructor from C++ std::string chemical formula.
 
 Iso (Iso &&other)
 The move constructor.
 
 Iso (const Iso &other, bool fullcopy)
 The copy constructor. More...
 
virtual ~Iso ()
 Destructor.
 
double getLightestPeakMass () const
 Get the mass of the lightest peak in the isotopic distribution.
 
double getHeaviestPeakMass () const
 Get the mass of the heaviest peak in the isotopic distribution.
 
double getMonoisotopicPeakMass () const
 
double getModeLProb () const
 Get the log-probability of the mode-configuration (if there are many modes, they share this value).
 
double getUnlikeliestPeakLProb () const
 Get the logprobability of the least probable subisotopologue.
 
double getModeMass () const
 Get the mass of the mode-configuration (if there are many modes, it is undefined which one will be selected).
 
double getTheoreticalAverageMass () const
 Get the theoretical average mass of the molecule.
 
int getDimNumber () const
 Get the number of elements in the chemical formula of the molecule.
 
int getAllDim () const
 Get the total number of isotopes of elements present in a chemical formula.
 
void addElement (int atomCount, int noIsotopes, const double *isotopeMasses, const double *isotopeProbabilities)
 Add an element to the molecule. Note: this method can only be used BEFORE Iso is used to construct an IsoGenerator instance.
 

Protected Attributes

double * partialLProbs
 
double * partialMasses
 
double * partialProbs
 
- Protected Attributes inherited from IsoSpec::Iso
int dimNumber
 
int * isotopeNumbers
 
int * atomCounts
 
unsigned int confSize
 
int allDim
 
Marginal ** marginals
 
double modeLProb
 

Detailed Description

The generator of isotopologues.

This class provides the common interface for all isotopic generators.

Definition at line 154 of file isoSpec++.h.

Member Function Documentation

◆ advanceToNextConfiguration()

virtual bool IsoSpec::IsoGenerator::advanceToNextConfiguration ( )
pure virtual

Advance to the next, not yet visited, most probable isotopologue.

Returns
Return false if it is not possible to advance.

Implemented in IsoSpec::IsoLayeredGenerator, IsoSpec::IsoThresholdGenerator, and IsoSpec::IsoOrderedGenerator.

◆ lprob()

virtual double IsoSpec::IsoGenerator::lprob ( ) const
inlinevirtual

Get the log-probability of the current isotopologue.

Returns
The log-probability of the current isotopologue.

Reimplemented in IsoSpec::IsoLayeredGenerator, and IsoSpec::IsoThresholdGenerator.

Definition at line 175 of file isoSpec++.h.

◆ mass()

virtual double IsoSpec::IsoGenerator::mass ( ) const
inlinevirtual

Get the mass of the current isotopologue.

Returns
The mass of the current isotopologue.

Reimplemented in IsoSpec::IsoLayeredGenerator, and IsoSpec::IsoThresholdGenerator.

Definition at line 181 of file isoSpec++.h.

◆ prob()

virtual double IsoSpec::IsoGenerator::prob ( ) const
inlinevirtual

Get the probability of the current isotopologue.

Returns
The probability of the current isotopologue.

Reimplemented in IsoSpec::IsoLayeredGenerator, and IsoSpec::IsoThresholdGenerator.

Definition at line 187 of file isoSpec++.h.

Member Data Documentation

◆ partialLProbs

double* IsoSpec::IsoGenerator::partialLProbs
protected

The prefix sum of the log-probabilities of the current isotopologue.

Definition at line 157 of file isoSpec++.h.

◆ partialMasses

double* IsoSpec::IsoGenerator::partialMasses
protected

The prefix sum of the masses of the current isotopologue.

Definition at line 158 of file isoSpec++.h.

◆ partialProbs

double* IsoSpec::IsoGenerator::partialProbs
protected

The prefix product of the probabilities of the current isotopologue.

Definition at line 159 of file isoSpec++.h.


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