CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h

Go to the documentation of this file.
00001 #ifndef MultiGaussianStateMerger_H
00002 #define MultiGaussianStateMerger_H
00003 
00004 #include "TrackingTools/GsfTools/interface/SingleGaussianState.h"
00005 #include "TrackingTools/GsfTools/interface/MultiGaussianState.h"
00006 
00011 template <unsigned int N> class MultiGaussianStateMerger {
00012 public:
00013   typedef SingleGaussianState<N> SingleState;
00014   typedef MultiGaussianState<N> MultiState;
00015 
00016 public:
00017   virtual MultiState merge(const MultiState& mgs) const = 0;
00018   virtual ~MultiGaussianStateMerger() {}
00019   virtual MultiGaussianStateMerger* clone() const = 0;
00020 
00021 protected:
00022 
00023   MultiGaussianStateMerger() {}
00024   typedef std::vector<SingleState> SGSVector;
00025 
00026 };  
00027 
00028 #endif