Earth Observation Mission CFI Software Pointing Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.27 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 <CfiError.h> 00014 #include <CfiId.h> 00015 #include <DataHandlingData.h> 00016 #include <PointingData.h> 00017 #include <SatId.h> 00018 #include <TimeCorrelation.h> 00019 #include <string> 00020 #include <vector> 00021 00022 //--NAMESPACES-------------------------------------------------------- 00023 00024 namespace EECFI 00025 { 00029 class XP_DECL InstrTransId : public CfiId 00030 { 00031 friend class Attitude; 00032 friend class Swath; 00033 friend class SwathId; // AN-505 00034 friend class AttitudeDef; // AN-526 00035 friend struct GenericInternals<InstrTransId>; // AN-823 00036 00037 public: 00039 InstrTransId(); 00040 00042 InstrTransId(const InstrTransId& other); 00043 00045 virtual ~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, const std::vector<long>& harmTypeYaw, const std::vector<double>& harmCoeffPitch, const std::vector<double>& harmCoeffRoll, const std::vector<double>& harmCoeffYaw, double offsets[3]); 00055 00057 void init(const TimeCorrelation& timeId, const std::vector<std::string>& files, long timeInitMode, long timeRef, double time0, double time1); 00058 00060 MatrixModel getMatrix() const; 00061 00063 void setMatrix(const MatrixModel& matrixModel); 00064 00066 AngleModel getAngles() const; 00067 00069 void setAngles(const AngleModel& angleModel); 00070 00072 HarmonicModel getHarmonic() const; 00073 00075 void setHarmonic(const HarmonicModel& harmModel); 00076 00078 AttFileModel getFile() const; 00079 00081 void setFile(const AttFileModel& fileModel); 00082 00084 void getOffset(double offset[3]) const; 00085 00087 void setOffset(const double offset[3]); 00088 00090 void setAzElDefinition(const AzElDefinition& azElDef); 00091 00093 SatId satId() const; 00094 00097 InstrTransId& operator=(const InstrTransId& other); 00098 00099 protected: 00101 void eraseObject(); 00102 00103 private: 00104 TimeCorrelation timeId; 00105 }; 00106 00107 } // namespace EECFI 00108 00109 #endif