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 Types | Private Member Functions | Private Attributes
CloseComponentsMerger< N > Class Template Reference

#include <CloseComponentsMerger.h>

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

Public Types

typedef std::pair
< SingleStatePtr, typename
SingleStateMap::iterator > 
MinDistResult
 
typedef std::multimap< double,
SingleStatePtr
SingleStateMap
 
- Public Types inherited from MultiGaussianStateMerger< N >
typedef MultiGaussianState< NMultiState
 
typedef SingleGaussianState< NSingleState
 

Public Member Functions

virtual CloseComponentsMergerclone () const
 
 CloseComponentsMerger (int n, const DistanceBetweenComponents< N > *distance)
 
virtual MultiState merge (const MultiState &mgs) const
 
- Public Member Functions inherited from MultiGaussianStateMerger< N >
virtual ~MultiGaussianStateMerger ()
 

Private Types

typedef MultiGaussianState< NMultiState
 
typedef SingleGaussianState< NSingleState
 
typedef boost::shared_ptr
< SingleState
SingleStatePtr
 

Private Member Functions

MinDistResult compWithMinDistToLargestWeight (SingleStateMap &) const
 

Private Attributes

DeepCopyPointerByClone
< DistanceBetweenComponents< N > > 
theDistance
 
int theMaxNumberOfComponents
 

Additional Inherited Members

- Protected Types inherited from MultiGaussianStateMerger< N >
typedef std::vector< SingleStateSGSVector
 
- Protected Member Functions inherited from MultiGaussianStateMerger< N >
 MultiGaussianStateMerger ()
 

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

Definition at line 23 of file CloseComponentsMerger.h.

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

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
inlinevirtual

Implements MultiGaussianStateMerger< N >.

Definition at line 31 of file CloseComponentsMerger.h.

References CloseComponentsMerger< N >::CloseComponentsMerger().

32  {
33  return new CloseComponentsMerger(*this);
34  }
CloseComponentsMerger(int n, const DistanceBetweenComponents< N > *distance)
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

template<unsigned int N>
DeepCopyPointerByClone< DistanceBetweenComponents<N> > CloseComponentsMerger< N >::theDistance
private

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.