CMS 3D CMS Logo

MultiGaussianState< N > Class Template Reference

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

#include <TrackingTools/GsfTools/interface/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 (const SingleStateContainer &stateV)
 MultiGaussianState ()
void rescaleWeight (double scale)
 rescale weight
void setWeight (double newWeight)
 renormalize weight
double weight () const
 Creates a new multi-state with the given components.
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.

00029                        : theCombinedStateUp2Date(false) {
00030 //     ++instances_;++maxInstances_;
00031 //     std::cout << "MultiGaussianState() " << N << " " << instances_ << std::endl;
00032   }

template<unsigned int N>
MultiGaussianState< N >::MultiGaussianState ( const SingleStateContainer stateV  )  [inline]

Definition at line 34 of file MultiGaussianState.h.

00035     : theComponents(stateV), theCombinedStateUp2Date(false) {
00036 //     theComponents[0]->rescaleWeight(1.);
00037 //     ++instances_;++maxInstances_;
00038 //     std::cout << "MultiGaussianState(const SingleStateContainer&) " << N << " " 
00039 //            << instances_ << std::endl;
00040   }

template<unsigned int N>
MultiGaussianState< N >::~MultiGaussianState (  )  [inline]

Definition at line 50 of file MultiGaussianState.h.

00050                         {
00051 //     --instances_;
00052 //     std::cout << "~MultiGaussianState " << N << " " << instances_ << std::endl;
00053   }


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]

access to components (single Gaussian states)

Definition at line 85 of file MultiGaussianState.h.

References MultiGaussianState< N >::theComponents.

Referenced by GaussianSumUtilities< N >::components(), GaussianStateConversions::tsosFromMultiGaussianState(), and GaussianStateConversions::vertexFromMultiGaussianState().

00085 {return theComponents;}

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 N.

00087                          {
00088     return N;
00089   }

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

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. combined weight

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


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:28:30 2009 for CMSSW by  doxygen 1.5.4