| Earth Observation Mission CFI Software Orbit Software User Manual |

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

- File List

# C:/Jenkins/workspace/CPP_create_documentation/slaves/windows8/lib_src/Orbit/include/OrbitId.h

    00001 //--------------------------------------------------------
    00002 // Earth Observation Mission CFI Software. Version 4.11
    00003 //--------------------------------------------------------
    00004
    00005 //--------------------------------------------------------------------
    00006 // CVS Info: $Id: OrbitId.h,v 1.31 2014-02-25 15:36:33 cavm 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 #include "SP3File.h"
    00025 #include "OemFile.h" // AN-578
    00026
    00027 //--NAMESPACES--------------------------------------------------------
    00028 using namespace std;
    00029
    00030 namespace EECFI
    00031 {
    00032
    00036   class XO_DECL OrbitId: public CfiId
    00037   {
    00038      friend class ANXTime;
    00039      friend class RelANXTime;
    00040      friend class Swath;
    00041      friend class SwathStar;
    00042      friend class OrbitExtra;
    00043      friend class SwathId; // AN-505
    00044      friend class AttitudeDef; // AN-596
    00045
    00046     public:
    00047
    00052     OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00053              long timeRef, double time,
    00054              long orbit0, long driftMode, double ascMlstDrift,
    00055              double inclination, long irep, long icyc, double rlong,
    00056              double ascMlst ) throw (CfiError);
    00057
    00060     OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00061              long timeRef, double time,
    00062              long orbit0, const RefOrbitInfo &refOrbitInfo ) throw (CfiError);
    00063
    00065       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00066                long timeRef, double time,
    00067                double pos[3], double vel[3], long absOrbit ) throw (CfiError);
    00068
    00070       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00071                long timeRef, long orbitFileMode,
    00072                const vector<string> &inputFiles, long timeInitMode,
    00073                double time0, double time1,
    00074                long orbit0, long orbit1) throw (CfiError);
    00075
    00077       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00078                long timeRef, double time,
    00079                double pos[3], double vel[3], long absOrbit,
    00080                const PropagPreciseConf &preciseConf ) throw (CfiError);
    00081
    00083       OrbitId( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00084                long timeRef, long orbitFileMode,
    00085                const vector<string> &inputFiles, long timeInitMode,
    00086                double time0, double time1,
    00087                long orbit0, long orbit1,
    00088                const PropagPreciseConf &preciseConf ) throw (CfiError);
    00089
    00091       OrbitId( const  SatId &satId,
    00092                const  ModelId &modelId,
    00093                const  TimeCorrelation &timeCor,
    00094                long   timeRef,
    00095                long   orbitFileMode,
    00096                vector<OsfFile> &osfData,
    00097                long   timeInitMode,
    00098                double time0, double time1,
    00099                long   orbit0, long orbit1) throw (CfiError);
    00101       OrbitId( const  SatId &satId,
    00102                const  ModelId &modelId,
    00103                const  TimeCorrelation &timeCor,
    00104                long   timeRef,
    00105                long   orbitFileMode,
    00106                vector<OrbitFile> &osvData,
    00107                long   timeInitMode,
    00108                double time0, double time1,
    00109                long   orbit0, long orbit1) throw (CfiError);
    00113       OrbitId( const  SatId &satId,
    00114                const  ModelId &modelId,
    00115                const  TimeCorrelation &timeCor,
    00116                long   timeRef,
    00117                long   orbitFileMode,
    00118                vector<OrbitFile> &osvData,
    00119                OrbitChangeData orbitChangeData,
    00120                long   timeInitMode,
    00121                double time0, double time1,
    00122                long   orbit0, long orbit1) throw (CfiError); // ANR-527
    00124       OrbitId( const  SatId &satId,
    00125                const  ModelId &modelId,
    00126                const  TimeCorrelation &timeCor,
    00127                long   timeRef,
    00128                long   orbitFileMode,
    00129                vector<DorisFile> &dorisData,
    00130                long   timeInitMode,
    00131                double time0, double time1,
    00132                long   orbit0, long orbit1) throw (CfiError);
    00136       OrbitId( const  SatId &satId,
    00137                const  ModelId &modelId,
    00138                const  TimeCorrelation &timeCor,
    00139                long   timeRef,
    00140                long   orbitFileMode,
    00141                vector<DorisFile> &dorisData,
    00142                OrbitChangeData orbitChangeData,
    00143                long   timeInitMode,
    00144                double time0, double time1,
    00145                long   orbit0, long orbit1) throw (CfiError); // ANR-527
    00146
    00148       OrbitId( const  SatId &satId,
    00149                const  ModelId &modelId,
    00150                const  TimeCorrelation &timeCor,
    00151                long   timeRef,
    00152                long   orbitFileMode,
    00153                vector<SP3File> &sp3Data,
    00154                long   timeInitMode,
    00155                double time0, double time1) throw (CfiError); // AN-550
    00156
    00159       OrbitId( const  SatId &satId,
    00160                const  ModelId &modelId,
    00161                const  TimeCorrelation &timeCor,
    00162                const GeoOrbitInitData &geoOrbitInit) throw (CfiError); // Added for AN-353
    00163
    00165       OrbitId( const  SatId &satId,
    00166                const  ModelId &modelId,
    00167                const  TimeCorrelation &timeCor,
    00168                long   timeRef,
    00169                long   orbitFileMode,
    00170                vector<OemFile> &oemData,
    00171                long   timeInitMode,
    00172                double time0, double time1) throw (CfiError); // AN-578
    00173
    00175       OrbitId( OrbitId &orbitIdIn );
    00176
    00178       ~OrbitId() throw (CfiError);
    00179
    00183       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00184                  long timeRef, double time,
    00185                  long orbit0, long driftMode, double ascMlstDrift,
    00186                  double inclination, long irep, long icyc, double rlong,
    00187                  double ascMlst ) throw (CfiError);
    00188
    00190       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00191                  long timeRef, double time,
    00192                  long orbit0, const RefOrbitInfo &refOrbitInfo ) throw (CfiError);
    00193
    00195       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00196                  long timeRef, double time,
    00197                  double pos[3], double vel[3], long absOrbit ) throw (CfiError);
    00198
    00200       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00201                  long timeRef, long orbitFileMode,
    00202                  const vector<string> &inputFiles, long timeInitMode,
    00203                  double time0, double time1,
    00204                  long orbit0, long orbit1) throw (CfiError);
    00205
    00207       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00208                  long timeRef, double time,
    00209                  double pos[3], double vel[3], long absOrbit,
    00210                  const PropagPreciseConf &preciseConf) throw (CfiError);
    00211
    00213       void init( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor,
    00214                  long timeRef, long orbitFileMode,
    00215                  const vector<string> &inputFiles, long timeInitMode,
    00216                  double time0, double time1,
    00217                  long orbit0, long orbit1,
    00218                  const PropagPreciseConf &preciseConf ) throw (CfiError);
    00219
    00222       void init( const  SatId &satId,
    00223                  const  ModelId &modelId,
    00224                  const  TimeCorrelation &timeCor,
    00225                  const GeoOrbitInitData &geoOrbitInit) throw (CfiError); // Added for AN-353
    00226
    00228       void change( OrbitChangeData changeData) throw (CfiError); // Added for AN-527
    00229
    00231       SatId satId() const;
    00232
    00234       vector<OsvRec> getOsv() const;
    00235
    00237       void setOsv( const vector<OsvRec> &osvRecList );
    00238
    00240       vector<ANXExtra> getAnx() const;
    00241
    00243       void setAnx( const vector<ANXExtra> &anxList );
    00244
    00246       vector<OsfRecords> getOsf() const;
    00247
    00249       void setOsf( const vector<OsfRecords> &osvRecList );
    00250
    00252       ValidityTime getValTime() const;
    00253
    00255       void setValTime( const ValidityTime &valTime );
    00256
    00258       PropagPreciseConf getPrecisePropagConfig() const throw (CfiError);
    00259
    00261       void setPrecisePropagConfig( const PropagPreciseConf &preciseConf );
    00262
    00264       void setGeoOrbitInfo( const GeoOrbitInfo &geoOrbitInfo ) throw (CfiError); // Added for AN-353
    00265
    00267       GeoOrbitInfo getGeoOrbitInfo() throw (CfiError); // Added for AN-353
    00268
    00270       OrbitalInfo getOrbitInfo( long absoluteOrbit ) const throw (CfiError);
    00271
    00280       void orbitInfoConfigure( long item, long option ) const throw (CfiError); // AN-523
    00281
    00283       OrbitInfo getOrbitNumbersFromRel( long relOrbit, long cycle ) const throw (CfiError);
    00284
    00286       OrbitInfo getOrbitNumbersFromPhase( long phase ) const throw (CfiError);
    00287
    00289       OrbitInfo getOrbitNumbersFromAbs( long absOrbit ) const throw (CfiError);
    00290
    00294       StateVector osvCompute( long mode, long timeRef, double time) const throw (CfiError);
    00295
    00299       StateVectorExtraInfo osvComputeExtra( long extraChoice ) const throw (CfiError);
    00300
    00307       StateVector positionOnOrbitToTime( long abs_orbit_number, long angle_type,
    00308                                          double angle, double angle_rate, double angle_rate_rate,
    00309                                          long deriv, long time_ref) const throw (CfiError);
    00310
    00319       TleRec osvToTle( long timeMode, long timeRef, double time0, double time1,
    00320                        long orbit0, long orbit1 ) throw (CfiError);
    00321
    00323       void operator=( const OrbitId &orbitIdIn );
    00324
    00325     protected:
    00326
    00328       OrbitId();
    00329
    00331       GenericId* getId();  // this is the xo_orbit_id variable
    00332
    00334       void eraseOrbit() throw (CfiError);
    00335
    00336     private:
    00337
    00339       void dataFileInit(const SatId &satId,
    00340                         const ModelId &modelId,
    00341                         const TimeCorrelation &timeCor,
    00342                         long timeRef,
    00343                         long orbitFileMode,
    00344                         void *fileData,
    00345                         long timeInitMode,
    00346                         double time0, double time1,
    00347                         long orbit0, long orbit1) throw (CfiError);
    00348
    00349       TimeCorrelation timeId;
    00350       ModelId modelId;
    00351   };
    00352
    00353 } // closing namespace
    00354
    00355 #endif