![]() |
![]() |
00001 #ifndef MultiGaussianStateCombiner_H 00002 #define MultiGaussianStateCombiner_H 00003 00004 #include "TrackingTools/GsfTools/interface/MultiGaussianState.h" 00005 #include "TrackingTools/GsfTools/interface/SingleGaussianState.h" 00006 00013 template <unsigned int N> 00014 class MultiGaussianStateCombiner { 00015 00016 private: 00017 typedef SingleGaussianState<N> SingleState; 00018 typedef MultiGaussianState<N> MultiState; 00019 typedef typename MultiGaussianState<N>::SingleStatePtr SingleStatePtr; 00020 typedef typename MultiGaussianState<N>::SingleStateContainer VSC; 00021 00022 public: 00023 00024 // typedef std::vector<SingleState> VSC; 00025 00026 SingleStatePtr combine(const MultiState & theState) const; 00027 SingleStatePtr combine(const VSC& theComponents) const; 00028 00029 }; 00030 00031 #include "TrackingTools/GsfTools/interface/MultiGaussianStateCombiner.icc" 00032 00033 #endif