MagneticModel.h

Go to the documentation of this file.
00001 
00002 
00008 /* 
00009 */
00011 
00012 #ifndef __OSESSAME_MAGNETIC_MODEL_H__
00013 #define __OSESSAME_MAGNETIC_MODEL_H__
00014 
00015 #include "Matrix.h"
00016 #include "Time.h"
00017 
00018 namespace O_SESSAME {
00019 
00021     typedef struct {
00022         ssfTime modelEpoch;             
00023         double H0;                      
00024         double DipoleCoelevation;       
00025         double DipoleEastLongitude;     
00026         double CBAvgRotationRate;       
00027         double CBRadius;                
00028     } MagneticFieldCoefficients;
00029     
00033 class MagneticModel 
00034 {
00035 public:
00036     virtual ~MagneticModel() {}
00037     
00038     virtual Vector GetMagneticField(const ssfTime& _currentTime, const Vector& _PositionVector) = 0; 
00039     virtual void SetMagFieldCoefficients(const MagneticFieldCoefficients& _newMagFieldCoeffs) {m_MagFieldCoeffs = _newMagFieldCoeffs;}
00040 
00041 protected:
00042     MagneticModel()                             {}
00043 
00044     MagneticFieldCoefficients m_MagFieldCoeffs;
00045     
00046 private:
00047 
00048 };
00049 }
00050 #endif
00051 // Do not change the comments below - they will be added automatically by CVS
00052 /*****************************************************************************
00053 *       $Log: MagneticModel.h,v $
00054 *       Revision 1.3  2003/06/12 18:00:31  nilspace
00055 *       Fixed references to CentralBody.
00056 *       
00057 *       Revision 1.2  2003/06/10 14:45:43  nilspace
00058 *       Changed include from Vector.h to Matrix.h
00059 *       
00060 *       Revision 1.1  2003/06/10 14:26:50  nilspace
00061 *       Initial Submission.
00062 *       
00063 *
00064 ******************************************************************************/

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