00001 #ifndef StateTransitionXXpY_H 00002 #define StateTransitionXXpY_H 00003 00004 #include "Const.h" 00005 #include "Observations.h" 00006 #include "Actions.h" 00007 #include "States.h" 00008 #include "MathLib.h" 00009 #include "VariableRelation.h" 00010 #include "StateTransitionY.h" 00011 00012 using namespace std; 00013 using namespace momdp; 00014 namespace momdp 00015 { 00016 class MOMDP; 00017 class StateTransitionXXpY : public StateTransitionY 00018 { 00019 friend class MOMDP; 00020 private: 00021 typedef vector<vector<vector<SharedPointer<SparseMatrix> > > > Matrices; 00022 Matrices matrix; 00023 Matrices matrixTr; 00024 00025 public: 00026 StateTransitionXXpY(void); 00027 virtual ~StateTransitionXXpY(void); 00028 00029 virtual SharedPointer<SparseMatrix> getMatrix(int a, int x, int xp); 00030 virtual SharedPointer<SparseMatrix> getMatrixTr(int a, int x, int xp); 00031 }; 00032 } 00033 00034 #endif 00035