00001 #ifndef PosteriorWeightsCalculator_H_ 00002 #define PosteriorWeightsCalculator_H_ 00003 00004 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" 00005 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00006 00013 class PosteriorWeightsCalculator { 00014 00015 private: 00016 typedef TrajectoryStateOnSurface TSOS; 00017 00018 public: 00019 PosteriorWeightsCalculator(const std::vector<TSOS>& mixture) : 00020 predictedComponents(mixture) {} 00021 00022 ~PosteriorWeightsCalculator() {} 00024 std::vector<double> weights(const TransientTrackingRecHit& tsos) const; 00025 template <unsigned int D> 00026 std::vector<double> weights(const TransientTrackingRecHit& tsos) const; 00027 00028 private: 00029 std::vector<TSOS> predictedComponents; 00030 00031 }; 00032 00033 #endif //_TR_PosteriorWeightsCalculator_H_