00001 #pragma ident "$Id: RACRotation.hpp 81 2006-08-10 16:45:12Z ehagen $" 00002 00003 00004 00005 //============================================================================ 00006 // 00007 // This file is part of GPSTk, the GPS Toolkit. 00008 // 00009 // The GPSTk is free software; you can redistribute it and/or modify 00010 // it under the terms of the GNU Lesser General Public License as published 00011 // by the Free Software Foundation; either version 2.1 of the License, or 00012 // any later version. 00013 // 00014 // The GPSTk is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 // GNU Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with GPSTk; if not, write to the Free Software Foundation, 00021 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // Copyright 2004, The University of Texas at Austin 00024 // 00025 //============================================================================ 00026 00027 00028 00029 00030 // 00031 // 00032 #ifndef GPSTK_RACROTATION_HPP 00033 #define GPSTK_RACROTATION_HPP 00034 00035 // gpstk 00036 #include "Triple.hpp" 00037 #include "Matrix.hpp" 00038 #include "Vector.hpp" 00039 #include "Xvt.hpp" 00040 00041 namespace gpstk 00042 { 00043 class RACRotation : public gpstk::Matrix<double> 00044 { 00045 public: 00046 // Constructors 00047 RACRotation( const gpstk::Triple& SVPositionVector, 00048 const gpstk::Triple& SVVelocityVector); 00049 RACRotation(const gpstk::Xvt& xvt); 00050 00051 // Methods 00052 gpstk::Vector<double> convertToRAC( const gpstk::Vector<double>& inV ); 00053 gpstk::Triple convertToRAC( const gpstk::Triple& inVec ); 00054 gpstk::Xvt convertToRAC( const gpstk::Xvt& in ); 00055 00056 // Utilities 00057 protected: 00058 void compute( const gpstk::Triple& SVPositionVector, 00059 const gpstk::Triple& SVVelocityVector); 00060 }; 00061 } 00062 #endif
1.3.9.1