Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 00025 namespace EECFI 00026 { 00027 00031 class XP_DECL InstrTransId: public CfiId 00032 { 00033 friend class Attitude; 00034 friend class Swath; 00035 friend class PointingFunc; // AN-469 00036 friend class SwathId; // AN-505 00037 friend class AttitudeDef; // AN-526 00038 00039 public: 00040 00042 InstrTransId(); 00043 00045 ~InstrTransId() EXCEPT; 00046 00048 void init( const double angle[3], const double offsets[3] ) ; 00049 00051 void init( const double matrix[3][3], const double offsets[3] ) ; 00052 00054 void init( long angleType, const std::vector<long> &harmTypePitch, const std::vector<long> &harmTypeRoll, 00055 const std::vector<long> &harmTypeYaw, const std::vector<double> &harmCoeffPitch, 00056 const std::vector<double> &harmCoeffRoll, const std::vector<double> &harmCoeffYaw, 00057 double offsets[3] ) ; 00058 00060 void init( const TimeCorrelation &timeId, const std::vector<std::string> &files, 00061 long timeInitMode, long timeRef, double time0, double time1 ) ; 00062 00064 MatrixModel getMatrix() const ; 00065 00067 void setMatrix( const MatrixModel &matrixModel ) ; 00068 00070 AngleModel getAngles() const ; 00071 00073 void setAngles( const AngleModel &angleModel ) ; 00074 00076 HarmonicModel getHarmonic() const ; 00077 00079 void setHarmonic( const HarmonicModel &harmModel ) ; 00080 00082 AttFileModel getFile() const ; 00083 00085 void setFile( const AttFileModel &fileModel ) ; 00086 00088 void getOffset( double offset[3] ) const ; 00089 00091 void setOffset( const double offset[3] ) ; 00092 00094 void setAzElDefinition( const AzElDefinition &azElDef ) ; 00095 00097 SatId satId() const; 00098 00099 protected: 00100 00102 GenericId* getId(); // this is the xo_orbit_id variable 00103 00105 void eraseObject() ; 00106 00107 private: 00108 00109 TimeCorrelation timeId; 00110 }; 00111 00112 } // closing namespace 00113 00114 #endif