| Earth Observation Mission CFI Software Lib Software User Manual |

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

- File List

# Z:/work/code/expcfidev/cplusplusWrapper/Lib/include/EETime.h

    00001 //--------------------------------------------------------
    00002 // Earth Observation Mission CFI Software. Version 4.4
    00003 //--------------------------------------------------------
    00004
    00005 //--------------------------------------------------------------------
    00006 // CVS Info: $Id: EETime.h,v 1.7 2012/06/20 16:11:13 expcfi Exp $
    00007 //--------------------------------------------------------------------
    00008
    00009 #ifndef _EECFI_TIME_H
    00010 #define _EECFI_TIME_H
    00011
    00012
    00013 //--INCLUDE-----------------------------------------------------------
    00014 #include "LibData.h"
    00015 #include "CfiClass.h"
    00016 #include "TimeCorrelation.h"
    00017
    00018 //--NAMESPACES--------------------------------------------------------
    00019 using namespace std;
    00020
    00021 namespace EECFI
    00022 {
    00023
    00027   class Time: public CfiClass
    00028   {
    00029    // Friend classes
    00030    friend class StateVector;
    00031    friend class StarData;
    00032
    00033     public:
    00034
    00035       double time;
    00036       long   ref;
    00037       long   format;
    00038
    00040       Time(double value      = 0,
    00041            long   reference  = XLCFI_TIME_TAI,
    00042            long   timeFormat = XLCFI_PROC);
    00043
    00045       Time(TimeCorrelation timeCorr,
    00046            double          value      = 0,
    00047            long            reference  = XLCFI_TIME_TAI,
    00048            long            timeFormat = XLCFI_PROC);
    00049
    00051       ~Time() {};
    00052
    00054       void setAscii(string asciiTime,
    00055                     long   reference  = XLCFI_TIME_TAI,
    00056                     long   timeFormat = XLCFI_ASCII_STD) throw (CfiError);
    00057
    00060       void setTransport(long  transportTime[4],
    00061                         long  reference  = XLCFI_TIME_TAI,
    00062                         long  timeFormat = XLCFI_TRANS_STD) throw (CfiError);
    00063
    00065       void setProcessing(double procTime,
    00066                          long   reference  = XLCFI_TIME_TAI,
    00067                          long   timeFormat = XLCFI_PROC);
    00068
    00070       void getAscii(string &asciiTime,
    00071                     long   reference  = XLCFI_TIME_TAI,
    00072                     long   timeFormat = XLCFI_ASCII_STD) throw (CfiError);
    00073
    00076       void getTransport(long  transportTime[4],
    00077                         long  reference  = XLCFI_TIME_TAI,
    00078                         long  timeFormat = XLCFI_TRANS_STD) throw (CfiError);
    00079
    00081       Time getProcessing(long reference  = XLCFI_TIME_TAI,
    00082                          long timeFormat = XLCFI_PROC) throw (CfiError);
    00083
    00085       void change(long reference,
    00086                   long timeFormat = XLCFI_PROC) throw (CfiError);
    00087
    00089       void now();
    00090
    00092       void setBOM();
    00094       void setEOM();
    00095
    00096       // Date arithmetic operators.
    00098       Time operator+(const double d) const;
    00100       Time operator-(const double d) const;
    00102       double operator-(const Time &t) const throw (CfiError);
    00103
    00104       // Time comparisons.
    00106       bool operator>( const Time &t) const throw (CfiError);
    00108       bool operator<( const Time &t) const throw (CfiError);
    00110       bool operator>=(const Time &t) const throw (CfiError);
    00112       bool operator<=(const Time &t) const throw (CfiError);
    00114       bool operator==(const Time &t) const throw (CfiError);
    00116       bool operator!=(const Time &t) const throw (CfiError);
    00117
    00118
    00119     protected:
    00120
    00122       GenericId* getTimeId();
    00123
    00124     private:
    00125
    00126       TimeCorrelation timeId;
    00127       int isBOM_EOM;
    00128
    00129   };
    00130
    00131 } // closing namespace
    00132
    00133 #endif