00001 00002 00008 /* \todo Add test cases 00009 */ 00011 00012 #ifndef __SSF_RUNGEKUTTA_INTEGRATOR_H__ 00013 #define __SSF_RUNGEKUTTA_INTEGRATOR_H__ 00014 00015 #include "Matrix.h" 00016 #include "Integrator.h" 00017 namespace O_SESSAME { 00018 00028 class RungeKuttaIntegrator : public Integrator 00029 { 00030 public: 00031 RungeKuttaIntegrator(); 00032 00033 Matrix Integrate(const vector<ssfTime>& _propTime, odeFunctor _odeFunctorPtr, const Vector& _initialConditions, Orbit* _Orbit, Attitude* _Attitude, const Matrix& _constants, const Functor& _functorPtr); 00034 00036 // Matrix Integrate(const Vector &_propTime, odeFunc _FuncPtr, const Vector &_initialConditions, const Matrix &_constants, vectorFuncPtr _vectorFuncPtr); 00037 00041 void SetNumSteps(const int &_numSteps) { m_NumSteps = _numSteps; return; } 00042 00046 int GetNumSteps() { return m_NumSteps; } 00047 private: 00048 int m_NumSteps; 00049 }; 00050 } // close namespace O_SESSAME 00051 00052 #endif 00053 00054 // Do not change the comments below - they will be added automatically by CVS 00055 /***************************************************************************** 00056 * $Log: RungeKuttaIntegrator.h,v $ 00057 * Revision 1.8 2003/05/22 02:59:15 nilspace 00058 * Updated comments. Changed to pass in pointers to Orbit & Attitude objects. 00059 * 00060 * Revision 1.7 2003/05/21 19:52:47 nilspace 00061 * Updated comments. 00062 * 00063 * Revision 1.6 2003/05/20 17:44:21 nilspace 00064 * Updated comments. 00065 * 00066 * Revision 1.5 2003/05/13 18:58:27 nilspace 00067 * Cleaned up comments. 00068 * 00069 * Revision 1.4 2003/04/27 22:04:34 nilspace 00070 * Created the namespace O_SESSAME. 00071 * 00072 * Revision 1.3 2003/04/25 13:45:55 nilspace 00073 * const'd Get() functions. 00074 * 00075 * Revision 1.2 2003/04/23 16:30:59 nilspace 00076 * Various bugfixes & uploading of all changed code for new programmers. 00077 * 00078 * Revision 1.1 2003/04/08 22:29:55 nilspace 00079 * Initial submission. Made a subclass of Integrator. 00080 * 00081 ******************************************************************************/