CMS 3D CMS Logo

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>

List of all members.

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)
const Matrixcovariance () const
 combined covariance matrix
int dimension () const
 dimension of parameter vector
const Vectormean () const
 combined mean
 MultiGaussianState ()
 MultiGaussianState (const SingleStateContainer &stateV)
void rescaleWeight (double scale)
 rescale weight
void setWeight (double newWeight)
 renormalize weight
double weight () const
 combined weight
const MatrixweightMatrix () const
 combined weight matrix
 ~MultiGaussianState ()

Private Member Functions

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

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.

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

Definition at line 34 of file MultiGaussianState.h.

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

Definition at line 50 of file MultiGaussianState.h.

                        {
//     --instances_;
//     std::cout << "~MultiGaussianState " << N << " " << instances_ << std::endl;
  }

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.

                         {
    return N;
  }
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 [mutable, private]

Definition at line 103 of file MultiGaussianState.h.

template<unsigned int N>
bool MultiGaussianState< N >::theCombinedStateUp2Date [mutable, private]

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().