GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
galileo_iono.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_iono.h
3  * \brief Interface of a Galileo Ionospheric Model storage
4  * \author Javier Arribas, 2013. jarribas(at)cttc.es
5  * \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
10  * This file is part of GNSS-SDR.
11  *
12  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
13  * SPDX-License-Identifier: GPL-3.0-or-later
14  *
15  * -----------------------------------------------------------------------------
16  */
17 
18 
19 #ifndef GNSS_SDR_GALILEO_IONO_H
20 #define GNSS_SDR_GALILEO_IONO_H
21 
22 #include <boost/serialization/nvp.hpp>
23 #include <cstdint>
24 
25 /** \addtogroup Core
26  * \{ */
27 /** \addtogroup System_Parameters
28  * \{ */
29 
30 
31 /*!
32  * \brief This class is a storage for the GALILEO IONOSPHERIC data as described
33  * in Galileo ICD paragraph 5.1.6
34  *
35  * See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OS_SIS_ICD_v2.0.pdf
36  */
38 {
39 public:
40  /*!
41  * Default constructor
42  */
43  Galileo_Iono() = default;
44 
45  // Ionospheric correction
46  double ai0{}; //!< Effective Ionisation Level 1st order parameter [sfu]
47  double ai1{}; //!< Effective Ionisation Level 2st order parameter [sfu/degree]
48  double ai2{}; //!< Effective Ionisation Level 3st order parameter [sfu/degree]
49 
50  // from page 5 (UTC) to have a timestamp
51  int32_t tow{}; //!< UTC data reference Time of Week [s]
52  int32_t WN{}; //!< UTC data reference Week number [week]
53 
54  // Ionospheric disturbance flag
55  bool Region1_flag{}; //!< Ionospheric Disturbance Flag for region 1
56  bool Region2_flag{}; //!< Ionospheric Disturbance Flag for region 2
57  bool Region3_flag{}; //!< Ionospheric Disturbance Flag for region 3
58  bool Region4_flag{}; //!< Ionospheric Disturbance Flag for region 4
59  bool Region5_flag{}; //!< Ionospheric Disturbance Flag for region 5
60 
61  template <class Archive>
62 
63  /*!
64  * \brief Serialize is a boost standard method to be called by the boost XML serialization.
65  Here is used to save the iono data on disk file.
66  */
67  inline void serialize(Archive& archive, const unsigned int version)
68  {
69  if (version)
70  {
71  };
72  archive& BOOST_SERIALIZATION_NVP(ai0);
73  archive& BOOST_SERIALIZATION_NVP(ai1);
74  archive& BOOST_SERIALIZATION_NVP(ai2);
75  archive& BOOST_SERIALIZATION_NVP(tow);
76  archive& BOOST_SERIALIZATION_NVP(WN);
77  archive& BOOST_SERIALIZATION_NVP(Region1_flag);
78  archive& BOOST_SERIALIZATION_NVP(Region2_flag);
79  archive& BOOST_SERIALIZATION_NVP(Region3_flag);
80  archive& BOOST_SERIALIZATION_NVP(Region4_flag);
81  archive& BOOST_SERIALIZATION_NVP(Region5_flag);
82  }
83 };
84 
85 
86 /** \} */
87 /** \} */
88 #endif // GNSS_SDR_GALILEO_IONO_H
bool Region3_flag
Ionospheric Disturbance Flag for region 3.
Definition: galileo_iono.h:57
int32_t tow
UTC data reference Time of Week [s].
Definition: galileo_iono.h:51
bool Region5_flag
Ionospheric Disturbance Flag for region 5.
Definition: galileo_iono.h:59
bool Region4_flag
Ionospheric Disturbance Flag for region 4.
Definition: galileo_iono.h:58
double ai2
Effective Ionisation Level 3st order parameter [sfu/degree].
Definition: galileo_iono.h:48
Galileo_Iono()=default
This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5...
Definition: galileo_iono.h:37
double ai0
Effective Ionisation Level 1st order parameter [sfu].
Definition: galileo_iono.h:46
double ai1
Effective Ionisation Level 2st order parameter [sfu/degree].
Definition: galileo_iono.h:47
int32_t WN
UTC data reference Week number [week].
Definition: galileo_iono.h:52
bool Region1_flag
Ionospheric Disturbance Flag for region 1.
Definition: galileo_iono.h:55
void serialize(Archive &archive, const unsigned int version)
Serialize is a boost standard method to be called by the boost XML serialization. Here is used to sav...
Definition: galileo_iono.h:67
bool Region2_flag
Ionospheric Disturbance Flag for region 2.
Definition: galileo_iono.h:56