1 //============================================================================== 2 // 3 // This file is part of GPSTk, the GPS Toolkit. 4 // 5 // The GPSTk is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU Lesser General Public License as published 7 // by the Free Software Foundation; either version 3.0 of the License, or 8 // any later version. 9 // 10 // The GPSTk is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public 16 // License along with GPSTk; if not, write to the Free Software Foundation, 17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 18 // 19 // This software was developed by Applied Research Laboratories at the 20 // University of Texas at Austin. 21 // Copyright 2004-2020, The Board of Regents of The University of Texas System 22 // 23 //============================================================================== 24 25 //============================================================================== 26 // 27 // This software was developed by Applied Research Laboratories at the 28 // University of Texas at Austin, under contract to an agency or agencies 29 // within the U.S. Department of Defense. The U.S. Government retains all 30 // rights to use, duplicate, distribute, disclose, or release this software. 31 // 32 // Pursuant to DoD Directive 523024 33 // 34 // DISTRIBUTION STATEMENT A: This software has been approved for public 35 // release, distribution is unlimited. 36 // 37 //============================================================================== 38 39 /// @file QZSEphemerisStore.cpp 40 /// Class for storing and/or computing position, velocity, and clock data using 41 /// tables of <SatID, <time, QZSEphemeris> >. Inherits OrbitEphStore, which includes 42 /// initial and final times and search methods. QZSEphemeris inherits OrbitEph and 43 /// adds health and accuracy information, which this class makes use of. 44 45 #include <iostream> 46 #include <fstream> 47 #include <iomanip> 48 49 #include "QZSEphemerisStore.hpp" 50 #include "QZSWeekSecond.hpp" 51 52 using namespace std; 53 using namespace gpstk::StringUtils; 54 55 namespace gpstk 56 { 57 //----------------------------------------------------------------------------- 58 // See notes in the .hpp. This function is designed to be called AFTER all elements 59 // are loaded. It can then make adjustments to time relationships based on 60 // inter-comparisons between sets of elements that cannot be performed until the 61 // ordering has been determined. rationalize(void)62 void QZSEphemerisStore::rationalize(void) 63 { 64 } 65 66 //----------------------------------------------------------------------------- 67 // Add all ephemerides to an existing list<QZSEphemeris> for given satellite 68 // If sat.id is -1 (the default), all ephemerides are added. 69 // @return the number of ephemerides added. addToList(list<QZSEphemeris> & qzslist,SatID sat) const70 int QZSEphemerisStore::addToList(list<QZSEphemeris>& qzslist, SatID sat) const 71 { 72 // get the list from OrbitEphStore 73 list<OrbitEph*> oelst; 74 OrbitEphStore::addToList(oelst,SatID(-1,SatelliteSystem::QZSS)); 75 76 int n(0); 77 list<OrbitEph*>::const_iterator it; 78 for(it = oelst.begin(); it != oelst.end(); ++it) { 79 OrbitEph *ptr = *it; 80 QZSEphemeris *qzsptr = dynamic_cast<QZSEphemeris*>(ptr); 81 QZSEphemeris qzseph(*qzsptr); 82 qzslist.push_back(qzseph); 83 n++; 84 } 85 86 return n; 87 } 88 89 } // namespace 90