Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: InstrTransId.h,v 1.16 2014-02-20 20:02:33 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _INSTRTRANSID_H 00010 #define _INSTRTRANSID_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 "SatId.h" 00022 00023 //--NAMESPACES-------------------------------------------------------- 00024 using namespace std; 00025 00026 namespace EECFI 00027 { 00028 00032 class InstrTransId: public CfiId 00033 { 00034 friend class Attitude; 00035 friend class Swath; 00036 friend class PointingFunc; // AN-469 00037 friend class SwathId; // AN-505 00038 friend class AttitudeDef; // AN-526 00039 00040 public: 00041 00043 InstrTransId(); 00044 00046 ~InstrTransId() throw (CfiError); 00047 00049 void init( const double angle[3], const double offsets[3] ) throw (CfiError); 00050 00052 void init( const double matrix[3][3], const double offsets[3] ) throw (CfiError); 00053 00055 void init( long angleType, const vector<long> &harmTypePitch, const vector<long> &harmTypeRoll, 00056 const vector<long> &harmTypeYaw, const vector<double> &harmCoeffPitch, 00057 const vector<double> &harmCoeffRoll, const vector<double> &harmCoeffYaw, 00058 double offsets[3] ) throw (CfiError); 00059 00061 void init( const TimeCorrelation &timeId, const vector<string> &files, 00062 long timeInitMode, long timeRef, double time0, double time1 ) throw (CfiError); 00063 00065 MatrixModel getMatrix() const throw (CfiError); 00066 00068 void setMatrix( const MatrixModel &matrixModel ) throw (CfiError); 00069 00071 AngleModel getAngles() const throw (CfiError); 00072 00074 void setAngles( const AngleModel &angleModel ) throw (CfiError); 00075 00077 HarmonicModel getHarmonic() const throw (CfiError); 00078 00080 void setHarmonic( const HarmonicModel &harmModel ) throw (CfiError); 00081 00083 AttFileModel getFile() const throw (CfiError); 00084 00086 void setFile( const AttFileModel &fileModel ) throw (CfiError); 00087 00089 void getOffset( double offset[3] ) const throw (CfiError); 00090 00092 void setOffset( const double offset[3] ) throw (CfiError); 00093 00095 void setAzElDefinition( const AzElDefinition &azElDef ) throw (CfiError); 00096 00098 SatId satId() const; 00099 00100 protected: 00101 00103 GenericId* getId(); // this is the xo_orbit_id variable 00104 00106 void eraseObject() throw (CfiError); 00107 00108 private: 00109 00110 TimeCorrelation timeId; 00111 }; 00112 00113 } // closing namespace 00114 00115 #endif