CMS 3D CMS Logo

CloseComponentsMerger< N > Class Template Reference

Merging of a Gaussian mixture by clustering components which are close to one another. More...

#include <TrackingTools/GsfTools/interface/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
 Method which does the actual merging.

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 
)

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


Member Function Documentation

template<unsigned int N>
virtual CloseComponentsMerger* CloseComponentsMerger< N >::clone ( void   )  const [inline, virtual]

Implements MultiGaussianStateMerger< N >.

Definition at line 31 of file CloseComponentsMerger.h.

References CloseComponentsMerger< N >::CloseComponentsMerger().

00032   {  
00033     return new CloseComponentsMerger(*this);
00034   }

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.


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