00001 #ifndef Obs2DBeaconNoisy_H 00002 #define Obs2DBeaconNoisy_H 00003 00004 00005 #include <vector> 00006 #include <string> 00007 #include "MObject.h" 00008 #include "IVariableValue.h" 00009 #include "IVariable.h" 00010 #include "VariableValue.h" 00011 #include "Variable.h" 00012 #include "VariableRelation.h" 00013 #include "Map2DPosValue.h" 00014 #include "Map2DPosVar.h" 00015 #include "ProblemParams.h" 00016 #include "BooleanVariable.h" 00017 #include "InRangeAllNto1VarRel.h" 00018 using namespace std; 00019 using namespace momdp; 00020 00021 namespace momdp 00022 { 00023 // generic class for variable, holds user defined variable value 00024 class Obs2DBeaconNoisy: public VariableRelation 00025 { 00026 private: 00027 00028 SharedPointer<Map2DPosVar> suv1PosVar; 00029 SharedPointer<Map2DPosVar> suv2PosVar; 00030 SharedPointer<Map2DPosVar> auvPosVar; 00031 SharedPointer<Map2DPosVar> auvEstPosVar; 00032 SharedPointer<InRangeAllNto1VarRel> auvPosEst; 00033 SharedPointer<ProblemParams> params; 00034 SharedPointer<BooleanVariable> auvGetsGPSPosVar; 00035 SharedPointer<BooleanVariable> isCal; 00036 SharedPointer<Variable> obsVar; 00037 00038 public: 00039 Obs2DBeaconNoisy(SharedPointer<Variable> obsVar, SharedPointer<Map2DPosVar> suv1PosVar, SharedPointer<Map2DPosVar> suv2PosVar, SharedPointer<Map2DPosVar> auvPosVar, SharedPointer<BooleanVariable> auvGetsGPSPos, SharedPointer<ProblemParams> params ); 00040 virtual ~Obs2DBeaconNoisy(void); 00041 00042 virtual vector<SharedPointer<RelEntry> > getProb(map<string, SharedPointer<IVariableValue> > sourceVals); 00043 00044 }; 00045 00046 } 00047 00048 #endif 00049