2012-01-25 16:23:54 +00:00
/*!
2012-06-22 14:17:28 +00:00
* \ file gnss_signal . h
2012-01-25 16:23:54 +00:00
* \ brief Implementation of the Gnss_Signal class
* \ author
* Luis Esteve , 2012. luis ( at ) epsilon - formacion . com
* Javier Arribas , 2012. jarribas ( at ) cttc . es
*
2020-12-30 12:35:06 +00:00
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2012-01-25 16:23:54 +00:00
*
2020-12-30 12:35:06 +00:00
* GNSS - SDR is a Global Navigation Satellite System software - defined receiver .
2012-01-25 16:23:54 +00:00
* This file is part of GNSS - SDR .
*
2020-12-30 12:35:06 +00:00
* Copyright ( C ) 2010 - 2020 ( see AUTHORS file for a list of contributors )
2020-02-08 00:20:02 +00:00
* SPDX - License - Identifier : GPL - 3.0 - or - later
2012-01-25 16:23:54 +00:00
*
2020-07-28 14:57:15 +00:00
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2012-01-25 16:23:54 +00:00
*/
2020-02-08 09:10:46 +00:00
# ifndef GNSS_SDR_GNSS_SIGNAL_H
# define GNSS_SDR_GNSS_SIGNAL_H
2012-01-25 16:23:54 +00:00
# include "gnss_satellite.h"
2016-01-10 13:30:04 +00:00
# include <ostream>
2012-01-25 16:23:54 +00:00
# include <string>
2013-01-28 23:50:09 +00:00
2020-11-01 12:37:19 +00:00
/** \addtogroup Core
* \ { */
/** \addtogroup System_Parameters
* \ { */
2013-01-28 23:50:09 +00:00
/*!
2012-01-25 16:23:54 +00:00
* \ brief This class represents a GNSS signal .
*
* It contains information about the space vehicle and the specific signal .
*/
class Gnss_Signal
{
public :
2020-06-10 08:15:59 +00:00
Gnss_Signal ( ) = default ;
2019-08-23 19:25:44 +00:00
explicit Gnss_Signal ( const std : : string & signal_ ) ;
2014-09-14 17:08:32 +00:00
Gnss_Signal ( const Gnss_Satellite & satellite_ , const std : : string & signal_ ) ;
2019-07-07 16:41:50 +00:00
~ Gnss_Signal ( ) = default ;
2019-02-11 14:31:01 +00:00
std : : string get_signal_str ( ) const ; //!< Get the satellite signal {"1C" for GPS L1 C/A, "2S" for GPS L2C (M), "L5" for GPS L5, "1G" for GLONASS L1 C/A, "1B" for Galileo E1B, "5X" for Galileo E5a.
Gnss_Satellite get_satellite ( ) const ; //!< Get the Gnss_Satellite associated to the signal
friend bool operator = = ( const Gnss_Signal & /*sig1*/ , const Gnss_Signal & /*sig2*/ ) ; //!< operator== for comparison
friend std : : ostream & operator < < ( std : : ostream & /*out*/ , const Gnss_Signal & /*sig*/ ) ; //!< operator<< for pretty printing
2019-07-01 21:44:42 +00:00
private :
2019-07-07 16:41:50 +00:00
Gnss_Satellite satellite { } ;
std : : string signal { } ;
2012-01-25 16:23:54 +00:00
} ;
2012-01-31 00:03:08 +00:00
2020-11-01 12:37:19 +00:00
/** \} */
/** \} */
# endif // GNSS_SDR_GNSS_SIGNAL_H