Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.9 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: SatTransId.h,v 1.16 2014-02-20 20:02:34 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _SATTRANSID_H 00010 #define _SATTRANSID_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <vector> 00014 #include <string> 00015 00016 #include "DataHandlingData.h" 00017 #include "PointingData.h" 00018 #include "CfiError.h" 00019 #include "CfiId.h" 00020 #include "TimeCorrelation.h" 00021 #include "AttRec.h" 00022 #include "SatId.h" 00023 00024 //--NAMESPACES-------------------------------------------------------- 00025 using namespace std; 00026 00027 namespace EECFI 00028 { 00029 00033 class SatTransId: public CfiId 00034 { 00035 friend class Attitude; 00036 friend class Swath; 00037 friend class PointingFunc; // AN-469 00038 friend class SwathId; // AN-505 00039 friend class AttitudeDef; // AN-526 00040 00041 public: 00042 00044 SatTransId(); 00045 00047 ~SatTransId() throw (CfiError); 00048 00050 void init( const double angle[3] ) throw (CfiError); 00051 00053 void init( const double matrix[3][3] ) throw (CfiError); 00054 00056 void init( long angleType, const vector<long> &harmTypePitch, const vector<long> &harmTypeRoll, 00057 const vector<long> &harmTypeYaw, const vector<double> &harmCoeffPitch, 00058 const vector<double> &harmCoeffRoll, const vector<double> &harmCoeffYaw) throw (CfiError); 00059 00061 void init( long inertialFrame, const vector<AttRec> &quaternions, double matrix[3][3] ) throw (CfiError); 00062 00064 void init( long inertialFrame, const vector<AttRec> &quaternions, double angles[3] ) throw (CfiError); 00065 00067 void init( const TimeCorrelation &timeId, const vector<string> &files, 00068 string &auxiliaryFile, long timeInitMode, long timeRef, 00069 double time0, double time1 ) throw (CfiError); 00070 00072 MatrixModel getMatrix() const throw (CfiError); 00073 00075 void setMatrix( const MatrixModel &matrixModel ) throw (CfiError); 00076 00078 AngleModel getAngles() const throw (CfiError); 00079 00081 void setAngles( const AngleModel &angleModel ) throw (CfiError); 00082 00084 HarmonicModel getHarmonic() const throw (CfiError); 00085 00087 void setHarmonic( const HarmonicModel &harmModel ) throw (CfiError); 00088 00090 SatAttFileModel getFile() const throw (CfiError); 00091 00093 void setFile( const SatAttFileModel &fileModel ) throw (CfiError); 00094 00096 QuatPlusMatrixModel getQuatPlusMatrix() const throw (CfiError); 00097 00099 void setQuatPlusMatrix( const QuatPlusMatrixModel &quatPlusMatrixModel ) throw (CfiError); 00100 00102 QuatPlusAnglesModel getQuatPlusAngles() const throw (CfiError); 00103 00105 void setQuatPlusAngles( const QuatPlusAnglesModel &quatPlusAnglesModel ) throw (CfiError); 00106 00108 void setAzElDefinition( const AzElDefinition &azElDef ) throw (CfiError); 00109 00111 SatId satId() const; 00112 00113 protected: 00114 00116 GenericId* getId(); 00117 00119 void eraseObject() throw (CfiError); 00120 00121 private: 00122 00123 TimeCorrelation timeId; 00124 }; 00125 00126 } // closing namespace 00127 00128 #endif