00001
00002 #ifndef DDF_SENSORNODECSTACC_HPP
00003 #define DDF_SENSORNODECSTACC_HPP
00004
00005 #include "ddfsimu/upd_const_acc.hpp"
00006 #include "ddf/sensornodeipc.hpp"
00007 #include "ddf/ipcproccomm.hpp"
00008 #include "ddf/commfactory.hpp"
00009 #include "ddf/predictmodelfactory.hpp"
00010
00011 namespace jafar
00012 {
00013 namespace ddfsimu
00014 {
00015 typedef ParametersGeneric CANode_Params;
00016 typedef Upd_const_acc CANode_PredMod;
00017 typedef CommFactoryGeneric<IPCProcComm> CANode_CommFactory;
00018 typedef ChannelFilterBase CANode_ChanFilter;
00019 typedef SensorNodeIPC<CANode_Params> CANodeIPC;
00020 typedef SensorNodePeriodic<CANode_Params> CANode;
00021
00026 class CstAccPredictModelFactory : public PredictModelFactoryBase
00027 {
00028 unsigned short m_dim;
00029 unsigned short m_sv_size;
00030 unsigned short m_q_size;
00031 VEC m_q;
00032 bool m_use_bias;
00033
00034 public:
00035
00036 CstAccPredictModelFactory(unsigned short dim, unsigned short sv_size, unsigned short q_size, VEC const& var, bool use_bias):
00037 m_dim(dim), m_sv_size(sv_size), m_q_size(q_size), m_q(q_size), m_use_bias(use_bias)
00038 { JFR_PRECOND(var.size() == q_size, "bad sizes"); m_q = var; }
00039
00040
00041 virtual ~CstAccPredictModelFactory() {}
00042
00043
00044 PredictionEngineBase* CreatePredictionModel() { return new CANode_PredMod(m_dim,m_sv_size,m_q_size,m_q, m_use_bias); }
00045 };
00046
00047 typedef CstAccPredictModelFactory CANode_PredModFactory;
00048
00049 }
00050 }
00051 #endif