IsoSpec  1.95
Public Member Functions | Public Attributes | Protected Attributes | List of all members
IsoSpec::Iso Class Reference

The Iso class for the calculation of the isotopic distribution. More...

#include <isoSpec++.h>

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

Public Member Functions

 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 (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 getModeLProb () const
 Get the log-probability of the mode-configuration (if there are many modes, they share this value).
 
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.
 

Public Attributes

bool disowned
 

Protected Attributes

int dimNumber
 
int * isotopeNumbers
 
int * atomCounts
 
unsigned int confSize
 
int allDim
 
Marginal ** marginals
 
double modeLProb
 

Detailed Description

The Iso class for the calculation of the isotopic distribution.

It contains full description of the molecule for which one would like to calculate the isotopic distribution.

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

Constructor & Destructor Documentation

◆ Iso() [1/2]

IsoSpec::Iso::Iso ( int  _dimNumber,
const int *  _isotopeNumbers,
const int *  _atomCounts,
const double *const *  _isotopeMasses,
const double *const *  _isotopeProbabilities 
)

General constructror.

Parameters
_dimNumberThe number of elements in the formula, e.g. for C100H202 it would be 2, as there are only carbon and hydrogen atoms.
_isotopeNumbersA table with numbers of isotopes for each element, e.g. for C100H202 it would be {2, 2}, because both C and H have two stable isotopes.
_atomCountsNumber of atoms of each element in the formula, e.g. for C100H202 corresponds to {100, 202}.
_isotopeMassesA table of masses of isotopes of the elements in the chemical formula, e.g. {12.0, 13.003355, 1.007825, 2.014102} for C100H202.
_isotopeProbabilitiesA table of isotope frequencies of the elements in the chemical formula, e.g. {.989212, .010788, .999885, .000115} for C100H202.

Definition at line 51 of file isoSpec++.cpp.

◆ Iso() [2/2]

IsoSpec::Iso::Iso ( const Iso other,
bool  fullcopy 
)

The copy constructor.

Parameters
otherThe other instance of the Iso class.
fullcopyIf false, copy only the number of atoms in the formula, the size of the configuration, the total number of isotopes, and the probability of the mode isotopologue.

Definition at line 92 of file isoSpec++.cpp.

Member Data Documentation

◆ allDim

int IsoSpec::Iso::allDim
protected

The total number of isotopes of elements present in a chemical formula, e.g. for H20 it is 2+3=5.

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

◆ atomCounts

int* IsoSpec::Iso::atomCounts
protected

A table with numbers of isotopes for each element.

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

◆ confSize

unsigned int IsoSpec::Iso::confSize
protected

The number of bytes needed to represent the counts of isotopes present in the extended chemical formula.

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

◆ dimNumber

int IsoSpec::Iso::dimNumber
protected

The number of elements in the chemical formula of the molecule.

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

◆ disowned

bool IsoSpec::Iso::disowned

A variable showing if the Iso class was specialized by its child-class. If so, then the description of the molecules has been transfered there and Iso is a carcass class, dead as a dodo, an ex-class if you will.

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

◆ isotopeNumbers

int* IsoSpec::Iso::isotopeNumbers
protected

A table with numbers of isotopes for each element.

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

◆ marginals

Marginal** IsoSpec::Iso::marginals
protected

The table of pointers to the distributions of individual subisotopologues.

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

◆ modeLProb

double IsoSpec::Iso::modeLProb
protected

The log-probability of the mode of the isotopic distribution.

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


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