00001 #pragma ident "$Id: SunEarthSatGeometry.hpp 2535 2011-03-25 15:58:06Z ccutlip $" 00002 00003 //============================================================================ 00004 // 00005 // This file is part of GPSTk, the GPS Toolkit. 00006 // 00007 // The GPSTk is free software; you can redistribute it and/or modify 00008 // it under the terms of the GNU Lesser General Public License as published 00009 // by the Free Software Foundation; either version 2.1 of the License, or 00010 // any later version. 00011 // 00012 // The GPSTk is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // GNU Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with GPSTk; if not, write to the Free Software Foundation, 00019 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 // 00021 // Copyright 2004, The University of Texas at Austin 00022 // 00023 //============================================================================ 00024 00025 //============================================================================ 00026 // 00027 //This software developed by Applied Research Laboratories at the University of 00028 //Texas at Austin, under contract to an agency or agencies within the U.S. 00029 //Department of Defense. The U.S. Government retains all rights to use, 00030 //duplicate, distribute, disclose, or release this software. 00031 // 00032 //Pursuant to DoD Directive 523024 00033 // 00034 // DISTRIBUTION STATEMENT A: This software has been approved for public 00035 // release, distribution is unlimited. 00036 // 00037 //============================================================================= 00038 00046 #ifndef SUN_EARTH_SATTELITE_INCLUDE 00047 #define SUN_EARTH_SATTELITE_INCLUDE 00048 00049 #include "DayTime.hpp" 00050 #include "Matrix.hpp" 00051 #include "Position.hpp" 00052 #include "SolarSystem.hpp" 00053 #include "EarthOrientation.hpp" 00054 00055 namespace gpstk 00056 { 00071 Matrix<double> UpEastNorth(Position& P, bool geoc=false) throw(Exception); 00072 00075 Matrix<double> UpEastNorthGeocentric(Position& P) throw(Exception); 00076 00078 Matrix<double> NorthEastUp(Position& P, bool geoc=false) throw(Exception); 00079 00081 Matrix<double> NorthEastUpGeocentric(Position& P) throw(Exception); 00082 00089 Matrix<double> SingleAxisRotation(double angle, const int axis) throw(Exception); 00090 00110 Matrix<double> SatelliteAttitude(const DayTime& tt, const Position& SV, 00111 const SolarSystem& SSEph, 00112 const EarthOrientation& EO, 00113 double& sf) 00114 throw(Exception); 00115 00133 Matrix<double> SatelliteAttitude(const DayTime& tt, const Position& SV, double& sf) 00134 throw(Exception); 00135 00146 void SatelliteNadirAzimuthAngles(const Position& SV, 00147 const Position& RX, 00148 const Matrix<double>& Rot, 00149 double& nadir, 00150 double& azimuth) 00151 throw(Exception); 00152 00153 } // end namespace gpstk 00154 00155 #endif // SUN_EARTH_SATTELITE_INCLUDE
1.3.9.1