CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CloseComponentsMerger.h
Go to the documentation of this file.
1 #ifndef CloseComponentsMerger_H
2 #define CloseComponentsMerger_H
3 
7 
8 #include "boost/shared_ptr.hpp"
9 #include <map>
10 
11 
18 template <unsigned int N>
20 
21  private:
24  typedef boost::shared_ptr<SingleState> SingleStatePtr;
25 
26  public:
27 
30 
31  virtual CloseComponentsMerger* clone() const
32  {
33  return new CloseComponentsMerger(*this);
34  }
35 
39  virtual MultiState merge(const MultiState& mgs) const;
40 
41 
42 public:
43  typedef std::multimap< double, SingleStatePtr > SingleStateMap;
44  typedef std::pair< SingleStatePtr, typename SingleStateMap::iterator > MinDistResult;
45 
46 private:
47 
48 // std::pair< SingleState, SingleStateMap::iterator >
51 
54 
55 };
56 
57 #include "TrackingTools/GsfTools/interface/CloseComponentsMerger.icc"
58 
59 #endif // CloseComponentsMerger_H
SingleGaussianState< N > SingleState
MultiGaussianState< N > MultiState
DeepCopyPointerByClone< DistanceBetweenComponents< N > > theDistance
Mixture of multi-variate gaussian states.
virtual CloseComponentsMerger * clone() const
std::multimap< double, SingleStatePtr > SingleStateMap
MinDistResult compWithMinDistToLargestWeight(SingleStateMap &) const
std::pair< SingleStatePtr, typename SingleStateMap::iterator > MinDistResult
virtual MultiState merge(const MultiState &mgs) const
CloseComponentsMerger(int n, const DistanceBetweenComponents< N > *distance)
boost::shared_ptr< SingleState > SingleStatePtr