00001 //////////////////////////////////////////////////////////////////////////////////////////////// 00002 /*! \file NumericPropagator.h 00003 * \brief Interface to the Numeric Propagator class. 00004 * \author $Author: jayhawk_hokie $ 00005 * \version $Revision: 1.2 $ 00006 * \date $Date: 2005/06/10 12:53:28 $ 00007 *////////////////////////////////////////////////////////////////////////////////////////////////// 00008 /* \todo Finish documentation 00009 * 00010 */ 00011 ////////////////////////////////////////////////////////////////////////////////////////////////// 00012 00013 #ifndef __OSESSAME_NUMERIC_PROPAGATOR_H__ 00014 #define __OSESSAME_NUMERIC_PROPAGATOR_H__ 00015 00016 #include <matrix/Matrix.h> 00017 #include <rotation/Rotation.h> 00018 #include <utils/Integrator.h> 00019 #include <dynamics/Propagator.h> 00020 00021 namespace O_SESSAME { 00022 00023 /*! \brief Numeric Propagation of orbit & attitude using a numeric integrator. 00024 * \ingroup PropagatorToolkit 00025 * 00026 * 00027 * \example testDynamics.cpp 00028 */ 00029 class NumericPropagator : public Propagator 00030 { 00031 public: 00032 /*! Default Constructor */ 00033 NumericPropagator(); 00034 /*! Default Deconstructor */ 00035 virtual ~NumericPropagator(); 00036 00037 /*! Propagates the dynamics forward through time 00038 * @param _propTime vector of ssfTime values specifying beginning, ending times of propagation as well as time step [initialTime, timeStep, finalTime] (s) 00039 * @param _orbitInitConditions initial conditions of the orbit integration. 00040 * @param _attInitConditions initial conditions of the attitude integration. 00041 */ 00042 virtual void Propagate(const vector<ssfTime> &_propTime, const Vector &_orbitInitConditions, const Vector &_attInitConditions); 00043 00044 protected: 00045 00046 private: 00047 00048 }; 00049 } // close namespace O_SESSAME 00050 00051 #endif 00052 /***************************************************************************** 00053 * $Log: NumericPropagator.h,v $ 00054 * Revision 1.2 2005/06/10 12:53:28 jayhawk_hokie 00055 * 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). 00056 * 00057 * Revision 1.1.1.1 2005/04/26 17:40:56 cakinli 00058 * Adding OpenSESSAME to DSACSS distrib to capture fixed version. 00059 * 00060 * Revision 1.8 2003/10/18 21:37:27 rsharo 00061 * Removed "../utils" from all qmake project paths. Prepended "utils 00062 * /" to all #include directives for utils. Removed ".h" extensions from STL header 00063 * s and referenced STL components from "std::" namespace. Overall, changed to be 00064 * more portable. 00065 * 00066 * Revision 1.7 2003/05/22 21:02:16 nilspace 00067 * Updated comments. 00068 * 00069 * Revision 1.6 2003/05/20 17:55:35 nilspace 00070 * Updated comments, also now use derived CombinedNumericProp. 00071 * 00072 * Revision 1.5 2003/05/13 18:54:04 nilspace 00073 * Fixed comments & various propagate functions. 00074 * 00075 * Revision 1.4 2003/04/27 22:04:33 nilspace 00076 * Created the namespace O_SESSAME. 00077 * 00078 * Revision 1.3 2003/04/25 13:43:52 nilspace 00079 * Updated to actually work. Still needs verification. 00080 * 00081 * Revision 1.2 2003/04/23 16:30:58 nilspace 00082 * Various bugfixes & uploading of all changed code for new programmers. 00083 * 00084 * Revision 1.1 2003/04/08 22:49:56 nilspace 00085 * Initial Submission. 00086 * 00087 ******************************************************************************/