Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

RungeKuttaIntegrator.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////////////////////////////
00002 /*!\file RungeKuttaIntegrator.h
00003 *  \brief Runge-Kutta integrator.
00004 *  \author $Author: jayhawk_hokie $
00005 *  \version $Revision: 1.2 $
00006 *  \date    $Date: 2005/06/10 12:53:29 $
00007 *//////////////////////////////////////////////////////////////////////////////////////////////////
00008 /*  \todo Add test cases
00009 */
00010 //////////////////////////////////////////////////////////////////////////////////////////////////
00011 
00012 #ifndef __SSF_RUNGEKUTTA_INTEGRATOR_H__
00013 #define __SSF_RUNGEKUTTA_INTEGRATOR_H__
00014 
00015 #include <matrix/Matrix.h>
00016 #include <utils/Integrator.h>
00017 namespace O_SESSAME {
00018 
00019 /*! \class RungeKuttaIntegrator 
00020 * \brief Implementation of a Runge-Kutta (Fourth Order) %Integrator. 
00021 * \ingroup IntegrationLibrary
00022 * 
00023 * \copydoc Integrator 
00024 * \todo document algorithm 
00025 * \example testAttitudeIntegration.cpp
00026 * \example testOrbitIntegration.cpp
00027 */
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 
00035     /*! Standard Integration Function */
00036 //    Matrix Integrate(const Vector &_propTime, odeFunc _FuncPtr, const Vector &_initialConditions, const Matrix &_constants, vectorFuncPtr _vectorFuncPtr);
00037 
00038     /*! \brief Set the number of integration steps 
00039         * @param _numSteps number of steps to include between integration timesteps
00040         */
00041     void SetNumSteps(const int &_numSteps)      { m_NumSteps = _numSteps; return; }
00042     
00043     /*! \brief Return the number of integration steps
00044         * @return current number of integration steps performed b/w every timestep 
00045         */
00046     int GetNumSteps()                           { return m_NumSteps; }
00047 private:
00048     int m_NumSteps;     /*!< \brief number of integration steps performed b/w every timestep */
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.2  2005/06/10 12:53:29  jayhawk_hokie
00058 *       Changed header file format to make it easier to link to the spacecraft code by only having to specify dsacss/dep/spacecraft/src (ex. "file.h" changed to <dir/file.h> where dir is a folder in src).
00059 *       
00060 *       Revision 1.1.1.1  2005/04/26 17:41:00  cakinli
00061 *       Adding OpenSESSAME to DSACSS distrib to capture fixed version.
00062 *       
00063 *       Revision 1.8  2003/05/22 02:59:15  nilspace
00064 *       Updated comments. Changed to pass in pointers to Orbit & Attitude objects.
00065 *       
00066 *       Revision 1.7  2003/05/21 19:52:47  nilspace
00067 *       Updated comments.
00068 *       
00069 *       Revision 1.6  2003/05/20 17:44:21  nilspace
00070 *       Updated comments.
00071 *       
00072 *       Revision 1.5  2003/05/13 18:58:27  nilspace
00073 *       Cleaned up comments.
00074 *       
00075 *       Revision 1.4  2003/04/27 22:04:34  nilspace
00076 *       Created the namespace O_SESSAME.
00077 *       
00078 *       Revision 1.3  2003/04/25 13:45:55  nilspace
00079 *       const'd Get() functions.
00080 *       
00081 *       Revision 1.2  2003/04/23 16:30:59  nilspace
00082 *       Various bugfixes & uploading of all changed code for new programmers.
00083 *       
00084 *       Revision 1.1  2003/04/08 22:29:55  nilspace
00085 *       Initial submission. Made a subclass of Integrator.
00086 *       
00087 ******************************************************************************/

Generated on Wed Sep 5 12:54:25 2007 for DSACSS Operational Code by  doxygen 1.3.9.1