| OpenMS 2.5.0

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EGHModel Class Reference

Exponential-Gaussian hybrid distribution model for elution profiles. More...

`#include <OpenMS/SIMULATION/EGHModel.h>`

Inheritance diagram for EGHModel:

## Public Types

typedef InterpolationModel::CoordinateType | CoordinateType
typedef Math::BasicStatistics< CoordinateType > | BasicStatistics
typedef LinearInterpolation::container_type | ContainerType
Public Types inherited from InterpolationModel
typedef double | IntensityType
typedef DPosition< 1 > | PositionType
typedef double | CoordinateType
typedef Math::LinearInterpolation< double > | LinearInterpolation
Public Types inherited from BaseModel< 1 >
typedef double | IntensityType
typedef double | CoordinateType
typedef DPosition< D > | PositionType
typedef DPeak< D >::Type | PeakType
typedef std::vector< PeakType > | SamplesType

## Public Member Functions

| EGHModel ()
| Default constructor. More...
| EGHModel (const EGHModel &source)
| copy constructor More...
| ~EGHModel () override
| destructor More...
virtual EGHModel & | operator= (const EGHModel &source)
| assignment operator More...
void | setOffset (CoordinateType offset) override
| set offset without being computing all over and without any discrepancy More...
void | setSamples () override
| set sample/supporting points of interpolation More...
CoordinateType | getCenter () const override
| get the center of the Gaussian model i.e. the position of the maximum More...
Public Member Functions inherited from InterpolationModel
| InterpolationModel ()
| Default constructor. More...
| InterpolationModel (const InterpolationModel &source)
| copy constructor More...
| ~InterpolationModel () override
| destructor More...
virtual InterpolationModel & | operator= (const InterpolationModel &source)
| assignment operator More...
IntensityType | getIntensity (const PositionType &pos) const override
| access model predicted intensity at position `pos` More...
IntensityType | getIntensity (CoordinateType coord) const
| access model predicted intensity at position `pos` More...
const LinearInterpolation & | getInterpolation () const
| Returns the interpolation class. More...
CoordinateType | getScalingFactor () const
| get the scaling for the model More...
void | getSamples (SamplesType &cont) const override
| get reasonable set of samples from the model (i.e. for printing) More...
void | setInterpolationStep (CoordinateType interpolation_step)
| Set the interpolation step for the linear interpolation of the model. More...
void | setScalingFactor (CoordinateType scaling)
Public Member Functions inherited from BaseModel< 1 >
| BaseModel ()
| Default constructor. More...
| BaseModel (const BaseModel &source)
| copy constructor More...
| ~BaseModel () override
| Destructor. More...
virtual BaseModel & | operator= (const BaseModel &source)
| assignment operator More...
void | registerChildren ()
void | registerChildren ()
virtual IntensityType | getIntensity (const PositionType &pos) const=0
| access model predicted intensity at position `pos` More...
virtual bool | isContained (const PositionType &pos) const
| check if position `pos` is part of the model regarding the models cut-off. More...
void | fillIntensity (PeakType &peak) const
| Convenience function to set the intensity of a peak to the predicted intensity at its current position, calling virtual void getIntensity(). More...
void | fillIntensities (PeakIterator begin, PeakIterator end) const
| Convenience function that applies fillIntensity() to an iterator range. More...
virtual IntensityType | getCutOff () const
| get cutoff value More...
virtual void | setCutOff (IntensityType cut_off)
| set cutoff value More...
virtual void | getSamples (std::ostream &os)
| fill stream with reasonable set of samples from the model (i.e. for printing) More...
Public Member Functions inherited from DefaultParamHandler
| DefaultParamHandler (const String &name)
| Constructor with name that is displayed in error messages. More...
| DefaultParamHandler (const DefaultParamHandler &rhs)
| Copy constructor. More...
virtual | ~DefaultParamHandler ()
| Destructor. More...
virtual DefaultParamHandler & | operator= (const DefaultParamHandler &rhs)
| Assignment operator. More...
virtual bool | operator== (const DefaultParamHandler &rhs) const
| Equality operator. More...
void | setParameters (const Param &param)
| Sets the parameters. More...
const Param & | getParameters () const
| Non-mutable access to the parameters. More...
const Param & | getDefaults () const
| Non-mutable access to the default parameters. More...
const String & | getName () const
| Non-mutable access to the name. More...
void | setName (const String &name)
| Mutable access to the name. More...
const std::vector< String > & | getSubsections () const
| Non-mutable access to the registered subsections. More...

## Static Public Member Functions

static BaseModel< 1 > * | create ()
| create new ElutionModel object (needed by Factory) More...
static const String | getProductName ()
| name of the model (needed by Factory) More...
Static Public Member Functions inherited from BaseModel< 1 >
static void | registerChildren ()
| register all derived classes here (implemented in file BaseModel_impl.h) More...

## Protected Member Functions

void | updateMembers_ () override
| This method is used to update extra member variables at the end of the setParameters() method. More...
void | computeBoundaries_ ()
| Computes a left & right boundary for the EGH Profile and sets the internal parameters accordingly. More...
void | evaluateEGH_ (CoordinateType &rt, CoordinateType &egh_value)
| Evaluate the EGH function at position rt. More...
Protected Member Functions inherited from InterpolationModel
void | updateMembers_ () override
| This method is used to update extra member variables at the end of the setParameters() method. More...
Protected Member Functions inherited from BaseModel< 1 >
void | updateMembers_ () override
| This method is used to update extra member variables at the end of the setParameters() method. More...
Protected Member Functions inherited from DefaultParamHandler
void | defaultsToParam_ ()
| Updates the parameters after the defaults have been set in the constructor. More...

## Protected Attributes

CoordinateType | min_
CoordinateType | max_
BasicStatistics | statistics_
CoordinateType | height_
CoordinateType | apex_rt_
CoordinateType | A_
CoordinateType | B_
CoordinateType | tau_
CoordinateType | sigma_square_
CoordinateType | sigma_square_2_
Protected Attributes inherited from InterpolationModel
LinearInterpolation | interpolation_
CoordinateType | interpolation_step_
CoordinateType | scaling_
Protected Attributes inherited from BaseModel< 1 >
IntensityType | cut_off_
Protected Attributes inherited from DefaultParamHandler
Param | param_
| Container for current parameters. More...
Param | defaults_
| Container for default parameters. This member should be filled in the constructor of derived classes! More...
std::vector< String > | subsections_
| Container for registered subsections. This member should be filled in the constructor of derived classes! More...
String | error_name_
| Name that is displayed in error messages during the parameter checking. More...
bool | check_defaults_
| If this member is set to false no checking if parameters in done;. More...
bool | warn_empty_defaults_
| If this member is set to false no warning is emitted when defaults are empty;. More...

## Detailed Description

Exponential-Gaussian hybrid distribution model for elution profiles.

Lan K, Jorgenson JW. A hybrid of exponential and gaussian functions as a simple model of asymmetric chromatographic peaks. Journal of Chromatography A. 2001;915(1-2):1-13. Available at: http://linkinghub.elsevier.com/retrieve/pii/S0021967301005945

Parameters of this class are:

Name | Type | Default | Restrictions | Description
--- | --- | --- | --- | ---
cutoff | float | 0.0 |  | Low intensity cutoff of the model. Peaks below this intensity are not considered part of the model.
interpolation_step | float | 0.1 |  | Sampling rate for the interpolation of the model function.
intensity_scaling | float | 1.0 |  | Scaling factor used to adjust the model distribution to the intensities of the data
statistics:mean | float | 0.0 |  | Centroid position of the model.
statistics:variance | float | 1.0 |  | The variance of the model.
egh:height | float | 1000.0 |  | Height of the exponential-Gaussian hybrid.
egh:retention | float | 1200.0 |  | Retention time of the exponential-Gaussian hybrid.
egh:guess_parameter | string | true | true, false | If set to true, the EGHModel will try to estimate the model parameters (tau and sigma-square) based on A,B, and alpha. If set to false, it will use the parameters tau and sigma-square directly.
egh:A | float | 100.0 |  | Horizontal distance between the vertical line at the peak maximum (H) and the leading line where the EGH has H*alpha (e.g. the left half-max for alpha=0.5).
egh:B | float | 100.0 |  | Horizontal distance between the vertical line at the peak maximum (H) and the trailing line where the EGH has H*alpha (e.g. the right half-max for alpha=0.5).
egh:alpha | float | 0.5 | min: 0.0 max: 1.0 | See egh:A and egh:B.
egh:tau | float | 0.0 |  | Time constant of the exponential decay (tau is zero for gaussian peaks).
egh:sigma_square | float | 1803.400000000000091 | min: 0.0 | Standard deviation of the peak.
bounding_box:compute | string | true | true, false | If true, the EGHModel will compute its own bounding box.
bounding_box:min | float | 0.0 |  | Lower end of bounding box enclosing the data used to fit the model.
bounding_box:max | float | 0.0 |  | Upper end of bounding box enclosing the data used to fit the model.

Note:

- If a section name is documented, the documentation is displayed as tooltip.
- Advanced parameter names are italic.

## Member Typedef Documentation

## ◆ BasicStatistics

typedef Math::BasicStatistics<CoordinateType> BasicStatistics

## ◆ ContainerType

typedef LinearInterpolation::container_type ContainerType

## ◆ CoordinateType

typedef InterpolationModel::CoordinateType CoordinateType

## Constructor & Destructor Documentation

## ◆ EGHModel() [1/2]

EGHModel | ( |  | ) |

Default constructor.

## ◆ EGHModel() [2/2]

EGHModel | ( | const EGHModel & | source | ) |

copy constructor

## ◆ ~EGHModel()

~EGHModel | ( |  | ) |

override

destructor

## Member Function Documentation

## ◆ computeBoundaries_()

void computeBoundaries_ | ( |  | ) |

protected

Computes a left & right boundary for the EGH Profile and sets the internal parameters accordingly.

## ◆ create()

static BaseModel<1>* create | ( |  | ) |

inline static

create new ElutionModel object (needed by Factory)

## ◆ evaluateEGH_()

void evaluateEGH_ | ( | CoordinateType & | rt,
|  | CoordinateType & | egh_value
| ) |  |

inline protected

Evaluate the EGH function at position rt.

Parameters

  rt | The position where the EGH function should be evaluated. Note that this is the position without the RT offset, meaning that the EGH apex is at position 0
  egh_value | The computed value

## ◆ getCenter()

CoordinateType getCenter | ( |  | ) | const

override virtual

get the center of the Gaussian model i.e. the position of the maximum

Reimplemented from InterpolationModel.

## ◆ getProductName()

static const String getProductName | ( |  | ) |

inline static

name of the model (needed by Factory)

## ◆ operator=()

virtual EGHModel& operator= | ( | const EGHModel & | source | ) |

virtual

assignment operator

## ◆ setOffset()

void setOffset | ( | CoordinateType | offset | ) |

override virtual

set offset without being computing all over and without any discrepancy

Reimplemented from InterpolationModel.

## ◆ setSamples()

void setSamples | ( |  | ) |

override virtual

set sample/supporting points of interpolation

Reimplemented from InterpolationModel.

## ◆ updateMembers_()

void updateMembers_ | ( |  | ) |

override protected virtual

This method is used to update extra member variables at the end of the setParameters() method.

Also call it at the end of the derived classes' copy constructor and assignment operator.

The default implementation is empty.

Reimplemented from DefaultParamHandler.

## Member Data Documentation

## ◆ A_

CoordinateType A_

protected

## ◆ apex_rt_

CoordinateType apex_rt_

protected

## ◆ B_

CoordinateType B_

protected

## ◆ height_

CoordinateType height_

protected

## ◆ max_

CoordinateType max_

protected

## ◆ min_

CoordinateType min_

protected

## ◆ sigma_square_

CoordinateType sigma_square_

protected

## ◆ sigma_square_2_

CoordinateType sigma_square_2_

protected

## ◆ statistics_

BasicStatistics statistics_

protected

## ◆ tau_

CoordinateType tau_

protected