00001 #ifndef MMVL_CONDENSATION_HH_INCLUDED 00002 #define MMVL_CONDENSATION_HH_INCLUDED 00003 00004 #include <vector> 00005 #include <cassert> 00006 #include "dice.h" 00007 00008 namespace mimas{ 00009 namespace hf{ 00010 00024 template<typename Hypothesis_T> 00025 class condensation 00026 { 00027 public: 00028 condensation(std::vector<Hypothesis_T> &hypotheses) 00029 :hypotheses_CD(hypotheses){} 00030 00031 protected: 00032 int pick_base_hypothesis(void); 00033 std::vector<Hypothesis_T> &hypotheses_CD; 00034 00035 private: 00036 00037 std::vector<double> cumulative_weight; 00038 void calculate_cumulative(void); 00039 }; 00040 00041 #include "condensation.tcc" 00042 } 00043 } 00044 #endif