1 /** @warning This code is automatically generated. 2 * 3 * DO NOT EDIT THIS CODE BY HAND. 4 * 5 * Refer to the documenation in the toolkit_docs gitlab project. 6 */ 7 8 //============================================================================== 9 // 10 // This file is part of GPSTk, the GPS Toolkit. 11 // 12 // The GPSTk is free software; you can redistribute it and/or modify 13 // it under the terms of the GNU Lesser General Public License as published 14 // by the Free Software Foundation; either version 3.0 of the License, or 15 // any later version. 16 // 17 // The GPSTk is distributed in the hope that it will be useful, 18 // but WITHOUT ANY WARRANTY; without even the implied warranty of 19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 // GNU Lesser General Public License for more details. 21 // 22 // You should have received a copy of the GNU Lesser General Public 23 // License along with GPSTk; if not, write to the Free Software Foundation, 24 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 25 // 26 // This software was developed by Applied Research Laboratories at the 27 // University of Texas at Austin. 28 // Copyright 2004-2020, The Board of Regents of The University of Texas System 29 // 30 //============================================================================== 31 32 //============================================================================== 33 // 34 // This software was developed by Applied Research Laboratories at the 35 // University of Texas at Austin, under contract to an agency or agencies 36 // within the U.S. Department of Defense. The U.S. Government retains all 37 // rights to use, duplicate, distribute, disclose, or release this software. 38 // 39 // Pursuant to DoD Directive 523024 40 // 41 // DISTRIBUTION STATEMENT A: This software has been approved for public 42 // release, distribution is unlimited. 43 // 44 //============================================================================== 45 46 #ifndef GPSTK_OBSERVATIONTYPE_HPP 47 #define GPSTK_OBSERVATIONTYPE_HPP 48 49 #include <string> 50 #include "EnumIterator.hpp" 51 52 namespace gpstk 53 { 54 /// The type of observation, mostly used by ObsID. 55 enum class ObservationType 56 { 57 Unknown, 58 Any, ///< Used to match any observation type 59 Range, ///< pseudorange, in meters 60 Phase, ///< accumulated phase, in cycles 61 Doppler, ///< Doppler, in Hz 62 SNR, ///< Signal strength, in dB-Hz 63 Channel, ///< Channel number 64 DemodStat, ///< Demodulator status 65 Iono, ///< Ionospheric delay 66 SSI, ///< Signal Strength Indicator (RINEX) 67 LLI, ///< Loss of Lock Indicator (RINEX) 68 TrackLen, ///< Number of continuous epochs of 'good' tracking 69 NavMsg, ///< Navigation Message data 70 RngStdDev, ///< pseudorange standard deviation, in meters 71 PhsStdDev, ///< phase standard deviation, in cycles 72 FreqIndx, ///< GLONASS frequency offset index 73 Undefined, ///< Observation type is known to be undefined (as opposed to unknown) 74 Last, ///< Used to verify that all items are described at compile time 75 }; // enum class ObservationType 76 77 /** Define an iterator so C++11 can do things like 78 * for (ObservationType i : ObservationTypeIterator()) */ 79 typedef EnumIterator<ObservationType, ObservationType::Unknown, ObservationType::Last> ObservationTypeIterator; 80 81 namespace StringUtils 82 { 83 /// Convert a ObservationType to a whitespace-free string name. 84 std::string asString(ObservationType e) throw(); 85 /// Convert a string name to an ObservationType 86 ObservationType asObservationType(const std::string& s) throw(); 87 } 88 } // namespace gpstk 89 90 #endif // GPSTK_OBSERVATIONTYPE_HPP 91