CMS 3D CMS Logo

Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes

CloseComponentsMerger< N > Class Template Reference

#include <CloseComponentsMerger.h>

Inheritance diagram for CloseComponentsMerger< N >:
MultiGaussianStateMerger< N >

List of all members.

Public Types

typedef std::pair
< SingleStatePtr, typename
SingleStateMap::iterator > 
MinDistResult
typedef std::multimap< double,
SingleStatePtr
SingleStateMap

Public Member Functions

virtual CloseComponentsMergerclone () const
 CloseComponentsMerger (int n, const DistanceBetweenComponents< N > *distance)
virtual MultiState merge (const MultiState &mgs) const

Private Types

typedef MultiGaussianState< N > MultiState
typedef SingleGaussianState< N > SingleState
typedef boost::shared_ptr
< SingleState
SingleStatePtr

Private Member Functions

MinDistResult compWithMinDistToLargestWeight (SingleStateMap &) const

Private Attributes

DeepCopyPointerByClone
< DistanceBetweenComponents< N > > 
theDistance
int theMaxNumberOfComponents

Detailed Description

template<unsigned int N>
class CloseComponentsMerger< N >

Merging of a Gaussian mixture by clustering components which are close to one another. The actual calculation of the distance between components is done by a specific (polymorphic) class, given at construction time.

Definition at line 19 of file CloseComponentsMerger.h.


Member Typedef Documentation

template<unsigned int N>
typedef std::pair< SingleStatePtr, typename SingleStateMap::iterator > CloseComponentsMerger< N >::MinDistResult

Definition at line 44 of file CloseComponentsMerger.h.

template<unsigned int N>
typedef MultiGaussianState<N> CloseComponentsMerger< N >::MultiState [private]

Reimplemented from MultiGaussianStateMerger< N >.

Definition at line 23 of file CloseComponentsMerger.h.

template<unsigned int N>
typedef SingleGaussianState<N> CloseComponentsMerger< N >::SingleState [private]

Reimplemented from MultiGaussianStateMerger< N >.

Definition at line 22 of file CloseComponentsMerger.h.

template<unsigned int N>
typedef std::multimap< double, SingleStatePtr > CloseComponentsMerger< N >::SingleStateMap

Definition at line 43 of file CloseComponentsMerger.h.

template<unsigned int N>
typedef boost::shared_ptr<SingleState> CloseComponentsMerger< N >::SingleStatePtr [private]

Definition at line 24 of file CloseComponentsMerger.h.


Constructor & Destructor Documentation

template<unsigned int N>
CloseComponentsMerger< N >::CloseComponentsMerger ( int  n,
const DistanceBetweenComponents< N > *  distance 
)

Member Function Documentation

template<unsigned int N>
virtual CloseComponentsMerger* CloseComponentsMerger< N >::clone ( void  ) const [inline, virtual]
template<unsigned int N>
MinDistResult CloseComponentsMerger< N >::compWithMinDistToLargestWeight ( SingleStateMap ) const [private]
template<unsigned int N>
virtual MultiState CloseComponentsMerger< N >::merge ( const MultiState mgs) const [virtual]

Method which does the actual merging. Returns a trimmed MultiGaussianState.

Implements MultiGaussianStateMerger< N >.


Member Data Documentation

Definition at line 53 of file CloseComponentsMerger.h.

template<unsigned int N>
int CloseComponentsMerger< N >::theMaxNumberOfComponents [private]

Definition at line 52 of file CloseComponentsMerger.h.