00001
00002 #ifndef DDF_SENSOR_HPP
00003 #define DDF_SENSOR_HPP
00004
00005 #include <BayesFilter/bayesFlt.hpp>
00006 #include "sensorbase.hpp"
00007
00008 namespace jafar
00009 {
00011 namespace ddfsimu
00012 {
00016 class SensorObs : public SensorBase
00017 {
00018 unsigned short m_sv_size;
00019
00020 protected:
00021 SpeedUpInfoStruct m_sp;
00022
00023 public:
00024
00025 SensorObs(unsigned short x_size, unsigned short z_size): SensorBase(z_size), m_sp(x_size, z_size)
00026 {
00027 JFR_PRECOND((x_size > 0) && (z_size > 0), "bad sizes");
00028 m_sv_size = x_size;
00029 }
00030
00031 virtual ~SensorObs() {}
00032
00033 unsigned short GetStateSize() const { return m_sv_size; }
00034 };
00035
00042 template<typename T_OBS>
00043 class Sensor : public SensorObs, public T_OBS
00044 {
00045 public:
00046 Sensor(unsigned short x_size, unsigned short z_size): SensorObs(x_size, z_size), T_OBS(x_size, z_size){}
00047 virtual ~Sensor() {}
00048 };
00049
00050 }
00051 }
00052 #endif