---
name: "IsoSpec_IsoOrderedGenerator"
section: "3"
platform: "linux"
package: "libisospec++-dev"
version: "2.2.1-4.1+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/IsoSpec_IsoOrderedGenerator"
---

# IsoSpec\_IsoOrderedGenerator(3)

The generator of isotopologues sorted by their probability of occurrence.

## NAME

IsoSpec::IsoOrderedGenerator - The generator of isotopologues sorted by their probability of occurrence.

## SYNOPSIS

`#include <isoSpec++.h>`

Inherits **IsoSpec::IsoGenerator**.

### Public Member Functions

**IsoOrderedGenerator** (const **IsoOrderedGenerator** &other)=delete\
 **IsoOrderedGenerator** & **operator=** (const **IsoOrderedGenerator** &other)=delete\
 bool **advanceToNextConfiguration** () override final\
 Advance to the next, not yet visited, most probable isotopologue.  void **get\_conf\_signature** (int \*space) const override final\
 Save the counts of isotopes in the space.  **IsoOrderedGenerator** (**Iso** &&iso, int \_tabSize=1000, int \_hashSize=1000)\
 The move-contstructor.  virtual **~IsoOrderedGenerator** ()\
 Destructor.

Public Member Functions inherited from **IsoSpec::IsoGenerator** virtual double **lprob** () const\
 Get the log-probability of the current isotopologue.  virtual double **mass** () const\
 Get the mass of the current isotopologue.  virtual double **prob** () const\
 Get the probability of the current isotopologue.  **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 \*\_isotopeMasses, const double \*\_isotopeProbabilities)\
 General constructror.  **Iso** (int \_dimNumber, const int \*\_isotopeNumbers, const int \*\_atomCounts, const double \*const \*\_isotopeMasses, const double \*const \*\_isotopeProbabilities)\
 **Iso** (const char \*formula, bool use\_nominal\_masses=false)\
 Constructor from the formula object.  **Iso** (const std::string &formula, bool use\_nominal\_masses=false)\
 Constructor from C++ std::string chemical formula.  **Iso** (**Iso** &&other)\
 The move constructor.  **Iso** & **operator=** (const **Iso** &other)=delete\
 **Iso** (const **Iso** &other, bool fullcopy)\
 The copy constructor.  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.  double **variance** () const\
 Get the theoretical variance of the distribution.  double **stddev** () const\
 Get the standard deviation of the theoretical distribution.  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.  void **saveMarginalLogSizeEstimates** (double \*priorities, double target\_total\_prob) const\
 Save estimates of logarithms of target sizes of marginals using Gaussian approximation into argument array. Array priorities must have length equal to dimNumber.

### Additional Inherited Members

Static Public Member Functions inherited from **IsoSpec::Iso** static **Iso** **FromFASTA** (const char \*fasta, bool use\_nominal\_masses=false, bool add\_water=true)\
 Constructor (named) from aminoacid FASTA sequence as C string.  static **Iso** **FromFASTA** (const std::string &fasta, bool use\_nominal\_masses=false, bool add\_water=true)\
 Constructor (named) from aminoacid FASTA sequence as C++ std::string. See above for details.

Public Attributes inherited from **IsoSpec::IsoGenerator** const double **mode\_lprob**\

Protected Member Functions inherited from **IsoSpec::Iso** bool **doMarginalsNeedSorting** () const\

Protected Attributes inherited from **IsoSpec::IsoGenerator** 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**\

## Detailed Description

The generator of isotopologues sorted by their probability of occurrence.

The subsequent isotopologues are generated with diminishing probability, starting from the mode. This algorithm take O(N\*log(N)) to compute the N isotopologues because of using the Priority Queue data structure. Obtaining the N isotopologues can be achieved in O(N) if they are not required to be spit out in the descending order.

Definition at line **236** of file **isoSpec++.h**.

## Constructor & Destructor Documentation

### IsoSpec::IsoOrderedGenerator::IsoOrderedGenerator (Iso && iso, int \_tabSize = `1000`, int \_hashSize = `1000`)

The move-contstructor.

Definition at line **814** of file **isoSpec++.cpp**.

### IsoSpec::IsoOrderedGenerator::~IsoOrderedGenerator ()` [virtual]`

Destructor.

Definition at line **855** of file **isoSpec++.cpp**.

## Member Function Documentation

### bool IsoSpec::IsoOrderedGenerator::advanceToNextConfiguration ()` [final]`, ` [override]`, ` [virtual]`

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

**Returns**

Return false if it is not possible to advance.

Implements **IsoSpec::IsoGenerator**.

Definition at line **867** of file **isoSpec++.cpp**.

### void IsoSpec::IsoOrderedGenerator::get\_conf\_signature (int \* space) const` [inline]`, ` [final]`, ` [override]`, ` [virtual]`

Save the counts of isotopes in the space.

**Parameters**

*space* An array where counts of isotopes shall be written. Must be as big as the overall number of isotopes.

Implements **IsoSpec::IsoGenerator**.

Definition at line **262** of file **isoSpec++.h**.

## Author

Generated automatically by Doxygen for IsoSpec from the source code.
