00001 #pragma ident "$Id: EphReader.hpp 2468 2010-09-15 13:25:46Z snelsen $" 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 00039 #ifndef GPSTK_EPHREADER_HPP 00040 #define GPSTK_EPHREADER_HPP 00041 00049 #include <string> 00050 #include <vector> 00051 00052 #include "Exception.hpp" 00053 #include "XvtStore.hpp" 00054 #include "SatID.hpp" 00055 00056 namespace gpstk 00057 { 00058 class EphReader 00059 { 00060 public: 00061 EphReader() 00062 : verboseLevel(0), eph(NULL) {}; 00063 00064 EphReader(const std::string& fn) 00065 throw(FileMissingException) 00066 : verboseLevel(0), eph(NULL) { read(fn); }; 00067 00068 int verboseLevel; 00069 00070 void read(const std::string& fn) 00071 throw(FileMissingException); 00072 00073 std::vector<std::string> filesRead; 00074 00078 void static modify10bitWeeks(short week); 00079 00080 typedef XvtStore<SatID> EphemerisStore; 00081 EphemerisStore* eph; 00082 00083 static std::string formatsUnderstood() 00084 { return "RINEX nav, FIC, MDP, SP3, YUMA, and SEM";} 00085 00086 private: 00087 void read_rinex_nav_data(const std::string& fn); 00088 void read_fic_data(const std::string& fn); 00089 void read_sp3_data(const std::string& fn); 00090 void read_yuma_data(const std::string& fn); 00091 void read_sem_data(const std::string& fn); 00092 void read_mdp_data(const std::string& fn); 00093 }; 00094 } 00095 #endif
1.3.9.1