| Earth Observation Mission CFI Software Pointing Software User Manual |

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

- File List

# Z:/work/code/expcfidev/cplusplusWrapper/Pointing/include/Target.h

    00001 //--------------------------------------------------------
    00002 // Earth Observation Mission CFI Software. Version 4.4
    00003 //--------------------------------------------------------
    00004
    00005 //--------------------------------------------------------------------
    00006 // CVS Info: $Id: Target.h,v 1.12 2012/07/09 10:45:10 expcfi Exp $
    00007 //--------------------------------------------------------------------
    00008
    00009 #ifndef _TARGET_H
    00010 #define _TARGET_H
    00011
    00012 //--INCLUDE-----------------------------------------------------------
    00013 #include <vector>
    00014 #include <string>
    00015
    00016 #include "PointingData.h"
    00017 #include "CfiError.h"
    00018 #include "CfiId.h"
    00019 #include "TimeCorrelation.h"
    00020 #include "Attitude.h"
    00021 #include "SatId.h"
    00022 #include "AtmosId.h"
    00023 #include "DemId.h"
    00024
    00025 //--NAMESPACES--------------------------------------------------------
    00026 using namespace std;
    00027
    00028 namespace EECFI
    00029 {
    00030
    00034   class Target: public CfiId
    00035   {
    00036     public:
    00037
    00038       long numUserTarget;
    00039       long numLosTarget;
    00040
    00042       Target( const Attitude &attitude, const DemId &demId, const AtmosId &atmosId ) throw (CfiError);
    00043
    00045       ~Target() throw (CfiError);
    00046
    00050       void targetInter( const SatId &satId, long deriv, long interFlag, double losAz,
    00051                         double losEl, double geodAlt, double losAzRate, double losElRate,
    00052                         long iray, double freq ) throw (CfiError);
    00053
    00056       void targetTravelTime( const SatId &satId, long deriv, double losAz,
    00057                              double losEl, double travelTime, double losAzRate, double losElRate,
    00058                              double travelTimeRate, long iray, double freq ) throw (CfiError);
    00059
    00063       void targetGroundRange( const SatId &satId, long deriv, double losAz,
    00064                               double losEl, double geodAlt, double distance,
    00065                               double losAzRate, double losElRate ) throw (CfiError);
    00066
    00072      void targetIncidenceAngle( const SatId &satId, long deriv, double losAz,
    00073                                 double incidenceAngle, double geodAlt,
    00074                                 double losAzRate ) throw (CfiError);
    00075
    00080       void targetRange( const SatId &satId, long deriv, double losAz,
    00081                         double range, double geodAlt,
    00082                         double losAzRate, double rangeRate ) throw (CfiError);
    00083
    00087       void targetRangeRate( const SatId &satId, long deriv, double efRangeRate,
    00088                         double range, double geodAlt,
    00089                         double efRangeRateRate, double rangeRate ) throw (CfiError);
    00090
    00094       void targetTangent( const SatId &satId, long deriv, double losAz,
    00095                           double losEl, double losAzRate, double losElRate,
    00096                           long iray, double freq ) throw (CfiError);
    00097
    00102       void targetAltitude( const SatId &satId, long deriv, double losAz,
    00103                            double geodAlt, double losAzRate,
    00104                            long iray, double freq ) throw (CfiError);
    00105
    00109       void targetStar( const SatId &satId, long deriv, double starRa,
    00110                        double starDec, double starRaRate, double starDecRate,
    00111                        long iray, double freq ) throw (CfiError);
    00112
    00115       void targetTangentSun( const SatId &satId, long deriv,
    00116                              long iray, double freq ) throw (CfiError);
    00117
    00120       void targetTangentMoon( const SatId &satId, long deriv,
    00121                               long iray, double freq ) throw (CfiError);
    00122
    00125       void targetStation( const SatId &satId, long deriv, double geocLong,
    00126                           double geodLat, double geodAlt, double minLinkEl ) throw (CfiError);
    00127
    00131       void targetDRS( const SatId &satId, long deriv,
    00132                       double drsPos[3], double drsVel[3] ) throw (CfiError);
    00133
    00136       void targetGeneric( const SatId &satId, long deriv,
    00137                           double targPos[3], double targVel[3], double targAcc[3] ) throw (CfiError);
    00138
    00142       void targetReflected( const SatId &satId,
    00143                             long deriv, double geodAlt, double deflectionNorth,
    00144                             double deflectionEast, long sourceType,
    00145                             vector<double> &sourceParam ) throw (CfiError);
    00146
    00148       void targetSc( const SatId &satId1, const SatId &satId2, const Attitude &att2,
    00149                      long deriv ) throw (CfiError); // Added for AN-353
    00150
    00154       void multiTargetInter( const SatId &satId, long deriv, long interFlag, double losAz,
    00155                              double losEl, long numTarget, vector<double> &geodAlt, double losAzRate,
    00156                              double losElRate, long iray, double freq ) throw (CfiError);
    00157
    00160       void multiTargetTravelTime( const SatId &satId, long deriv, double losAz,
    00161                              double losEl, long numTarget, vector<double> &travelTime,
    00162                              double losAzRate, double losElRate, double travelTimeRate,
    00163                              long iray, double freq ) throw (CfiError);
    00164
    00170       void targetListInter( const SatId &satId, long deriv, long interFlag,
    00171                             const InstrumentData &instrData, double geodAlt,
    00172                             TargetOutput &targOut ) throw (CfiError);
    00173
    00185       void extraVector( long choice, long targetType, long targetNumber,
    00186                         vector<double> &vectorResult, vector<double> &vectorResultRate,
    00187                         vector<double> &vectorResultRateRate) throw (CfiError);
    00188
    00198       void extraMain( long choice, long targetType, long targetNumber,
    00199                       vector<double> &mainResult, vector<double> &mainResultRate,
    00200                       vector<double> &mainResultRateRate ) throw (CfiError);
    00201
    00211       void extraAux( long choice, long targetType, long targetNumber,
    00212                       vector<double> &extraResult, vector<double> &extraResultRate,
    00213                       vector<double> &extraResultRateRate ) throw (CfiError);
    00214
    00225       void extraTargetToSun( long choice, long targetType, long targetNumber,
    00226                              long iray, double freq,
    00227                              vector<double> &sunResult, vector<double> &sunResultRate,
    00228                              vector<double> &sunResultRateRate) throw (CfiError);
    00229
    00239       void extraTargetToMoon( long choice, long targetType, long targetNumber,
    00240                               long iray, double freq,
    00241                               vector<double> &moonResult, vector<double> &moonResultRate,
    00242                               vector<double> &moonResultRateRate ) throw (CfiError);
    00243
    00253       void extraEfTarget( long choice, long targetType, long targetNumber, double freq,
    00254                           vector<double> &efResultRate, vector<double> &efResultRateRate ) throw (CfiError);
    00255
    00265       void extraSpecularReflection( long choice, long targetType, long targetNumber,
    00266                                     double deflectionNorth, double deflectionEast,
    00267                                     vector<double> &specRefResult, vector<double> &specRefResultRate,
    00268                                     vector<double> &specRefResultRateRate ) throw (CfiError);
    00269
    00271       SatId satId() const;
    00272
    00283       TargetIdData* getData() const throw (CfiError);
    00284
    00286       Target const &operator=(Target const &target);
    00287
    00288     protected:
    00289
    00291       GenericId* getId();
    00292
    00293     private:
    00294
    00295       Attitude attitude;
    00296       DemId    demId;
    00297       AtmosId  atmosId;
    00298
    00299   };
    00300
    00301 } // closing namespace
    00302
    00303 #endif