Propagator.h

Go to the documentation of this file.
00001 
00002 
00008 /* \todo Finish documentation
00009 *
00010 */
00012 
00013 #ifndef __OSESSAME_PROPAGATOR_H__
00014 #define __OSESSAME_PROPAGATOR_H__
00015 
00016 #include "Rotation.h"
00017 #include "Integrator.h"
00018 #include "Orbit.h"
00019 #include "Attitude.h"
00020 #include "AttitudeHistory.h"
00021 #include "OrbitHistory.h"
00022 
00023 
00024 namespace O_SESSAME {
00026 
00065 class Attitude;
00066 class Orbit;
00067 
00068 
00076 class Propagator
00077 {
00078 public:
00080     virtual ~Propagator();
00081     
00085     virtual void Propagate(const vector<ssfTime> &_propTime);
00086     
00090     virtual void SetAttitudeObject(Attitude *_pAttitudeObject);
00091     
00095     virtual void SetOrbitObject(Orbit *_pOrbitObject);
00096 
00097 protected:
00103     virtual Matrix PropagateOrbit(const vector<ssfTime> &_propTime, const Vector &_initConditions);
00104 
00110     virtual Matrix PropagateAttitude(const vector<ssfTime> &_propTime, const Vector &_initConditions);
00111 
00112 protected:
00114     Propagator();
00115 
00117     Orbit *m_pOrbitObject;
00119     Attitude *m_pAttitudeObject;
00120     
00122     OrbitHistory m_OrbitStateMeshPoints;
00124     AttitudeHistory m_AttitudeStateMeshPoints;
00125         
00126 };
00127 // end of Propagator
00128 }
00129 #endif
00130 /*****************************************************************************
00131 *       $Log: Propagator.h,v $
00132 *       Revision 1.10  2003/06/10 02:24:04  nilspace
00133 *       Updated moving of StateConversion functions to Attitude and Orbit.
00134 *       
00135 *       Revision 1.9  2003/05/22 15:09:46  nilspace
00136 *       Updated documentation.
00137 *       
00138 *       Revision 1.8  2003/05/20 17:55:35  nilspace
00139 *       Updated comments, also now use derived CombinedNumericProp.
00140 *       
00141 *       Revision 1.7  2003/05/13 18:52:45  nilspace
00142 *       Fixed comments. Passed in initial conditions to propagate functions.
00143 *       
00144 *       Revision 1.6  2003/04/27 22:04:33  nilspace
00145 *       Created the namespace O_SESSAME.
00146 *       
00147 *       Revision 1.5  2003/04/25 18:23:43  nilspace
00148 *       Added implementation of ~Propagator()
00149 *       
00150 *       Revision 1.4  2003/04/25 13:43:52  nilspace
00151 *       Updated to actually work. Still needs verification.
00152 *       
00153 *       Revision 1.3  2003/04/23 16:30:58  nilspace
00154 *       Various bugfixes & uploading of all changed code for new programmers.
00155 *       
00156 *       Revision 1.2  2003/04/08 22:50:28  nilspace
00157 *       Updated to derive classes based on numeric or analytical nature.
00158 *       
00159 *       Revision 1.1  2003/03/27 02:49:20  nilspace
00160 *       Initial submission
00161 *
00162 ******************************************************************************/

Generated on Wed Aug 6 12:58:50 2003 for Open-Sessame Framework by doxygen1.3