CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
MultiGaussianState< N > Class Template Reference

Mixture of multi-variate gaussian states. More...

#include <MultiGaussianState.h>

Public Types

typedef SingleGaussianState< N >
::Matrix 
Matrix
 
typedef SingleGaussianState< N > SingleState
 
typedef std::vector
< SingleStatePtr
SingleStateContainer
 
typedef boost::shared_ptr
< SingleState
SingleStatePtr
 
typedef SingleGaussianState< N >
::Vector 
Vector
 

Public Member Functions

const SingleStateContainercomponents () const
 access to components (single Gaussian states) More...
 
const Matrixcovariance () const
 combined covariance matrix More...
 
int dimension () const
 dimension of parameter vector More...
 
const Vectormean () const
 combined mean More...
 
 MultiGaussianState ()
 
 MultiGaussianState (const SingleStateContainer &stateV)
 
void rescaleWeight (double scale)
 rescale weight More...
 
void setWeight (double newWeight)
 renormalize weight More...
 
double weight () const
 combined weight More...
 
const MatrixweightMatrix () const
 combined weight matrix More...
 
 ~MultiGaussianState ()
 

Private Member Functions

void checkCombinedState () const
 calculation of the combined state (on demand) More...
 

Private Attributes

SingleStatePtr theCombinedState
 
bool theCombinedStateUp2Date
 
const SingleStateContainer theComponents
 

Detailed Description

template<unsigned int N>
class MultiGaussianState< N >

Mixture of multi-variate gaussian states.

Multi-dimensional multi-Gaussian mixture: weighted sum of single Gaussian components.

Definition at line 18 of file MultiGaussianState.h.

Member Typedef Documentation

template<unsigned int N>
typedef SingleGaussianState<N>::Matrix MultiGaussianState< N >::Matrix

Definition at line 21 of file MultiGaussianState.h.

template<unsigned int N>
typedef SingleGaussianState<N> MultiGaussianState< N >::SingleState

Definition at line 22 of file MultiGaussianState.h.

template<unsigned int N>
typedef std::vector< SingleStatePtr > MultiGaussianState< N >::SingleStateContainer

Definition at line 25 of file MultiGaussianState.h.

template<unsigned int N>
typedef boost::shared_ptr<SingleState> MultiGaussianState< N >::SingleStatePtr

Definition at line 23 of file MultiGaussianState.h.

template<unsigned int N>
typedef SingleGaussianState<N>::Vector MultiGaussianState< N >::Vector

Definition at line 20 of file MultiGaussianState.h.

Constructor & Destructor Documentation

template<unsigned int N>
MultiGaussianState< N >::MultiGaussianState ( )
inline

Definition at line 29 of file MultiGaussianState.h.

29  : theCombinedStateUp2Date(false) {
30 // ++instances_;++maxInstances_;
31 // std::cout << "MultiGaussianState() " << N << " " << instances_ << std::endl;
32  }
template<unsigned int N>
MultiGaussianState< N >::MultiGaussianState ( const SingleStateContainer stateV)
inline

Definition at line 34 of file MultiGaussianState.h.

35  : theComponents(stateV), theCombinedStateUp2Date(false) {
36 // theComponents[0]->rescaleWeight(1.);
37 // ++instances_;++maxInstances_;
38 // std::cout << "MultiGaussianState(const SingleStateContainer&) " << N << " "
39 // << instances_ << std::endl;
40  }
const SingleStateContainer theComponents
template<unsigned int N>
MultiGaussianState< N >::~MultiGaussianState ( )
inline

Definition at line 50 of file MultiGaussianState.h.

50  {
51 // --instances_;
52 // std::cout << "~MultiGaussianState " << N << " " << instances_ << std::endl;
53  }

Member Function Documentation

template<unsigned int N>
void MultiGaussianState< N >::checkCombinedState ( ) const
private

calculation of the combined state (on demand)

template<unsigned int N>
const SingleStateContainer& MultiGaussianState< N >::components ( ) const
inline
template<unsigned int N>
const Matrix& MultiGaussianState< N >::covariance ( ) const

combined covariance matrix

Referenced by GaussianSumUtilities< N >::covariance().

template<unsigned int N>
int MultiGaussianState< N >::dimension ( ) const
inline

dimension of parameter vector

Definition at line 87 of file MultiGaussianState.h.

References MultiGaussianStateTransform::N.

87  {
88  return N;
89  }
template<unsigned int N>
const Vector& MultiGaussianState< N >::mean ( ) const

combined mean

Referenced by GaussianSumUtilities< N >::mean().

template<unsigned int N>
void MultiGaussianState< N >::rescaleWeight ( double  scale)

rescale weight

template<unsigned int N>
void MultiGaussianState< N >::setWeight ( double  newWeight)

renormalize weight

template<unsigned int N>
double MultiGaussianState< N >::weight ( ) const

combined weight

Creates a new multi-state with the given components. For this base class, no information is passed from the initial instance. Creates a new single-state with the given information. For this base class, no information is passed from the initial instance.

Referenced by GaussianSumUtilities< N >::weight().

template<unsigned int N>
const Matrix& MultiGaussianState< N >::weightMatrix ( ) const

combined weight matrix

Member Data Documentation

template<unsigned int N>
SingleStatePtr MultiGaussianState< N >::theCombinedState
mutableprivate

Definition at line 103 of file MultiGaussianState.h.

template<unsigned int N>
bool MultiGaussianState< N >::theCombinedStateUp2Date
mutableprivate

Definition at line 104 of file MultiGaussianState.h.

template<unsigned int N>
const SingleStateContainer MultiGaussianState< N >::theComponents
private

Definition at line 102 of file MultiGaussianState.h.

Referenced by MultiGaussianState< N >::components().