CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
CloseComponentsMerger< N > Class Template Referencefinal

#include <CloseComponentsMerger.h>

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

Public Types

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

Public Member Functions

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

Private Types

using MultiState = MultiGaussianState< N >
 
using SingleState = SingleGaussianState< N >
 
using SingleStatePtr = std::shared_ptr< SingleState >
 

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 46 of file CloseComponentsMerger.h.

template<unsigned int N>
using CloseComponentsMerger< N >::MultiState = MultiGaussianState<N>
private

Definition at line 23 of file CloseComponentsMerger.h.

template<unsigned int N>
using CloseComponentsMerger< N >::SingleState = SingleGaussianState<N>
private

Definition at line 22 of file CloseComponentsMerger.h.

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

Definition at line 45 of file CloseComponentsMerger.h.

template<unsigned int N>
using CloseComponentsMerger< N >::SingleStatePtr = std::shared_ptr<SingleState>
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>
CloseComponentsMerger* CloseComponentsMerger< N >::clone ( void  ) const
inlineoverridevirtual

Implements MultiGaussianStateMerger< N >.

Definition at line 31 of file CloseComponentsMerger.h.

References CloseComponentsMerger< N >::CloseComponentsMerger(), CloseComponentsMerger< N >::merge(), and CloseComponentsMerger< N >::mergeOld().

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>
MultiState CloseComponentsMerger< N >::merge ( const MultiState mgs) const
overridevirtual

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

Implements MultiGaussianStateMerger< N >.

Referenced by CloseComponentsMerger< N >::clone().

template<unsigned int N>
MultiState CloseComponentsMerger< N >::mergeOld ( const MultiState mgs) const

Member Data Documentation

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

Definition at line 55 of file CloseComponentsMerger.h.

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

Definition at line 54 of file CloseComponentsMerger.h.