| Earth Observation Mission CFI Software Orbit Software User Manual |

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

# Z:/work/code/expcfidev/cplusplusWrapper/Orbit/include/OrbitId.h

    00001 //--------------------------------------------------------
    00002 // Earth Observation Mission CFI Software. Version 4.4
    00003 //--------------------------------------------------------
    00004
    00005 //--------------------------------------------------------------------
    00006 // CVS Info: $Id: OrbitId.h,v 1.21 2012/07/09 10:30:19 expcfi Exp $
    00007 //--------------------------------------------------------------------
    00008
    00009 #ifndef _ORBITID_H
    00010 #define _ORBITID_H
    00011
    00012 //--INCLUDE-----------------------------------------------------------
    00013 #include "OrbitData.h"
    00014 #include "CfiError.h"
    00015 #include "CfiId.h"
    00016 #include "TimeCorrelation.h"
    00017 #include "OsvRec.h"
    00018 #include "OsfRec.h"
    00019 #include "SatId.h"
    00020 #include "StateVector.h"
    00021 #include "ModelId.h"
    00022 #include "PropagPreciseConf.h"
    00023 #include "TleRec.h"
    00024
    00025 //--NAMESPACES--------------------------------------------------------
    00026 using namespace std;
    00027
    00028 namespace EECFI
    00029 {
    00030
    00034   class OrbitId: public CfiId
    00035   {
    00036      friend class ANXTime;
    00037      friend class RelANXTime;
    00038      friend class Swath;
    00039      friend class SwathStar;
    00040      friend class OrbitExtra;
    00041
    00042     public:
    00043
    00048     OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00049              long timeRef, double time,
    00050              long orbit0, long driftMode, double ascMlstDrift,
    00051              double inclination, long irep, long icyc, double rlong,
    00052              double ascMlst ) throw (CfiError);
    00053
    00056     OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00057              long timeRef, double time,
    00058              long orbit0, const RefOrbitInfo &refOrbitInfo ) throw (CfiError);
    00059
    00061       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00062                long timeRef, double time,
    00063                double pos[3], double vel[3], long absOrbit ) throw (CfiError);
    00064
    00066       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00067                long timeRef, long orbitFileMode,
    00068                const vector<string> &inputFiles, long timeInitMode,
    00069                double time0, double time1,
    00070                long orbit0, long orbit1) throw (CfiError);
    00071
    00073       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00074                long timeRef, double time,
    00075                double pos[3], double vel[3], long absOrbit,
    00076                const PropagPreciseConf &preciseConf ) throw (CfiError);
    00077
    00079       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00080                long timeRef, long orbitFileMode,
    00081                const vector<string> &inputFiles, long timeInitMode,
    00082                double time0, double time1,
    00083                long orbit0, long orbit1,
    00084                const PropagPreciseConf &preciseConf ) throw (CfiError);
    00085
    00087       OrbitId( const  SatId &satId,
    00088                const  ModelId &modelId,
    00089                const  TimeCorrelation &timeCor,
    00090                long   timeRef,
    00091                long   orbitFileMode,
    00092                vector<OsfFile> &osfData,
    00093                long   timeInitMode,
    00094                double time0, double time1,
    00095                long   orbit0, long orbit1) throw (CfiError);
    00097       OrbitId( const  SatId &satId,
    00098                const  ModelId &modelId,
    00099                const  TimeCorrelation &timeCor,
    00100                long   timeRef,
    00101                long   orbitFileMode,
    00102                vector<OrbitFile> &osvData,
    00103                long   timeInitMode,
    00104                double time0, double time1,
    00105                long   orbit0, long orbit1) throw (CfiError);
    00107       OrbitId( const  SatId &satId,
    00108                const  ModelId &modelId,
    00109                const  TimeCorrelation &timeCor,
    00110                long   timeRef,
    00111                long   orbitFileMode,
    00112                vector<DorisFile> &dorisData,
    00113                long   timeInitMode,
    00114                double time0, double time1,
    00115                long   orbit0, long orbit1) throw (CfiError);
    00116
    00119       OrbitId( const  SatId &satId,
    00120                const  ModelId &modelId,
    00121                const  TimeCorrelation &timeCor,
    00122                const GeoOrbitInitData &geoOrbitInit) throw (CfiError); // Added for AN-353
    00123
    00125       OrbitId( OrbitId &orbitIdIn );
    00126
    00128       ~OrbitId() throw (CfiError);
    00129
    00133       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00134                  long timeRef, double time,
    00135                  long orbit0, long driftMode, double ascMlstDrift,
    00136                  double inclination, long irep, long icyc, double rlong,
    00137                  double ascMlst ) throw (CfiError);
    00138
    00140       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00141                  long timeRef, double time,
    00142                  long orbit0, const RefOrbitInfo &refOrbitInfo ) throw (CfiError);
    00143
    00145       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00146                  long timeRef, double time,
    00147                  double pos[3], double vel[3], long absOrbit ) throw (CfiError);
    00148
    00150       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00151                  long timeRef, long orbitFileMode,
    00152                  const vector<string> &inputFiles, long timeInitMode,
    00153                  double time0, double time1,
    00154                  long orbit0, long orbit1) throw (CfiError);
    00155
    00157       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00158                  long timeRef, double time,
    00159                  double pos[3], double vel[3], long absOrbit,
    00160                  const PropagPreciseConf &preciseConf) throw (CfiError);
    00161
    00163       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00164                  long timeRef, long orbitFileMode,
    00165                  const vector<string> &inputFiles, long timeInitMode,
    00166                  double time0, double time1,
    00167                  long orbit0, long orbit1,
    00168                  const PropagPreciseConf &preciseConf ) throw (CfiError);
    00169
    00172       void init( const  SatId &satId,
    00173                  const  ModelId &modelId,
    00174                  const  TimeCorrelation &timeCor,
    00175                  const GeoOrbitInitData &geoOrbitInit) throw (CfiError); // Added for AN-353
    00176
    00178       SatId satId() const;
    00179
    00181       vector<OsvRec> getOsv() const;
    00182
    00184       void setOsv( const vector<OsvRec> &osvRecList );
    00185
    00187       vector<ANXExtra> getAnx() const;
    00188
    00190       void setAnx( const vector<ANXExtra> &anxList );
    00191
    00193       vector<OsfRecords> getOsf() const;
    00194
    00196       void setOsf( const vector<OsfRecords> &osvRecList );
    00197
    00199       ValidityTime getValTime() const;
    00200
    00202       void setValTime( const ValidityTime &valTime );
    00203
    00205       PropagPreciseConf getPrecisePropagConfig() const throw (CfiError);
    00206
    00208       void setPrecisePropagConfig( const PropagPreciseConf &preciseConf );
    00209
    00211       void setGeoOrbitInfo( const GeoOrbitInfo &geoOrbitInfo ) throw (CfiError); // Added for AN-353
    00212
    00214       GeoOrbitInfo getGeoOrbitInfo() throw (CfiError); // Added for AN-353
    00215
    00217       OrbitalInfo getOrbitInfo( long absoluteOrbit ) const throw (CfiError);
    00218
    00220       OrbitInfo getOrbitNumbersFromRel( long relOrbit, long cycle ) const throw (CfiError);
    00221
    00223       OrbitInfo getOrbitNumbersFromPhase( long phase ) const throw (CfiError);
    00224
    00226       OrbitInfo getOrbitNumbersFromAbs( long absOrbit ) const throw (CfiError);
    00227
    00231       StateVector osvCompute( long mode, long timeRef, double time) const throw (CfiError);
    00232
    00236       StateVectorExtraInfo osvComputeExtra( long extraChoice ) const throw (CfiError);
    00237
    00244       StateVector positionOnOrbitToTime( long abs_orbit_number, long angle_type,
    00245                                          double angle, double angle_rate, double angle_rate_rate,
    00246                                          long deriv, long time_ref) const throw (CfiError);
    00247
    00249       TleRec osvToTle( long timeMode, long timeRef, double time0, double time1,
    00250                        long orbit0, long orbit1 ) throw (CfiError);
    00251
    00253       void operator=( const OrbitId &orbitIdIn );
    00254
    00255     protected:
    00256
    00258       OrbitId();
    00259
    00261       GenericId* getId();  // this is the xo_orbit_id variable
    00262
    00264       void eraseOrbit() throw (CfiError);
    00265
    00266     private:
    00267
    00269       void dataFileInit(const SatId &satId,
    00270                         const ModelId &modelId,
    00271                         const TimeCorrelation &timeCor,
    00272                         long timeRef,
    00273                         long orbitFileMode,
    00274                         void *fileData,
    00275                         long timeInitMode,
    00276                         double time0, double time1,
    00277                         long orbit0, long orbit1) throw (CfiError);
    00278
    00279       TimeCorrelation timeId;
    00280       ModelId modelId;
    00281   };
    00282
    00283 } // closing namespace
    00284
    00285 #endif