SolarDisturbances.h

Go to the documentation of this file.
00001 
00002 
00008 /* 
00009 */
00011 
00012 #ifndef __OSESSAME_SOLAR_DISTURBANCES_H__
00013 #define __OSESSAME_SOLAR_DISTURBANCES_H__
00014 #include "matrix/Matrix.h"
00015 #include "Time.h"
00016 #include "OrbitState.h"
00017 #include "Attitude.h"
00018 #include "Environment.h"
00019 #include <vector.h>
00020 using namespace std;
00021 using namespace O_SESSAME;
00022 
00068 Vector SolarRadiationPressureForceFunction(const ssfTime &_currentTime, const OrbitState  &_currentOrbitState, const AttitudeState &_currentAttitudeState, const EnvFuncParamaterType &_parameterList)
00069 {
00070     static Vector Forces(3);
00071     static Vector SunVector(3);
00072     static double p_SR, c_R, m, A_S;
00073     SunSatVector(_) = *(reinterpret_cast<Vector*>(_parameterList[0]));
00074     m    = *(reinterpret_cast<double*>(_parameterList[1]));
00075     p_SR = *(reinterpret_cast<double*>(_parameterList[2]));
00076     c_R  = *(reinterpret_cast<double*>(_parameterList[3]));
00077     A_R  = *(reinterpret_cast<double*>(_parameterList[4]));
00078     
00079     Forces = -p_SR * c_R * A_S / m * SunSatVector / norm2(SunSatVector);
00080     return Forces;
00081 }
00082 
00083 #endif
00084 // Do not change the comments below - they will be added automatically by CVS
00085 /*****************************************************************************
00086 *       $Log: SolarDisturbances.h,v $
00087 *       Revision 1.2  2003/06/12 21:51:54  nilspace
00088 *       Removed & alignment characters from comments.
00089 *       
00090 *       Revision 1.1  2003/06/12 17:58:42  nilspace
00091 *       Initial Submission.
00092 *       
00093 *
00094 ******************************************************************************/

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