1  #ifndef OPTIONS_H


2  #define OPTIONS_H


3 


4  #include <string>


5  #include <vector>


6  #include <newmat.h>


7  #include "pppInclude.h"


8 


9  namespace BNC_PPP {


10 


11  class t_pppOptions {


12  public:


13  enum e_type {IF, UncombPPP, PPPRTK, DCMcodeBias, DCMphaseBias};


14  t_pppOptions();


15  ~t_pppOptions();


16 


17  std::vector<char> systems() const;


18  const std::vector<t_lc::type>& LCs(char system) const;


19  std::vector<t_lc::type> ambLCs(char system) const;


20  std::vector<t_lc::type> codeLCs(char system) const;


21  std::vector<t_lc::type> ionoLCs(char system) const;


22  bool useSystem(char system) const {return LCs(system).size() > 0;}


23  bool useOrbClkCorr() const;


24  bool estTrp() const {return _aprSigTrp > 0.0  _noiseTrp > 0.0;}


25  bool xyzAprRoverSet() const {


26  return (_xyzAprRover[0] != 0.0  _xyzAprRover[1] != 0.0  _xyzAprRover[2] != 0.0);


27  }


28 


29  e_type _obsModelType;


30  QStringList _obsmodelTypeStr = QStringList()


31  << "IF PPP"


32  << "Uncombined PPP"


33  << "PPPRTK"


34  << "DCM with Code Biases"


35  << "DCM with Phase Biases";


36  bool _realTime;


37  std::string _crdFile;


38  std::string _corrMount;


39  bool _isAPC;


40  std::string _rinexObs;


41  std::string _rinexNav;


42  std::string _corrFile;


43  double _corrWaitTime;


44  std::string _roverName;


45  ColumnVector _xyzAprRover;


46  ColumnVector _neuEccRover;


47  std::string _recNameRover;


48  std::string _antNameRover;


49  std::string _antexFileName;


50  std::string _blqFileName;


51  double _sigmaC1;


52  double _sigmaL1;


53  double _sigmaGIM;


54  double _sigmaTz0;


55  double _maxResC1;


56  double _maxResL1;


57  bool _eleWgtCode;


58  bool _eleWgtPhase;


59  double _minEle;


60  int _minObs;


61  ColumnVector _aprSigCrd;


62  ColumnVector _noiseCrd;


63  double _aprSigClk;


64  double _aprSigOGR;


65  double _aprSigOGE;


66  double _aprSigOGC;


67  double _aprSigTrp;


68  double _noiseTrp;


69  double _noiseIon;


70  double _aprSigIon;


71  double _aprSigCodeBias;


72  double _aprSigPhaseBias;


73  int _nmeaPort;


74  double _aprSigAmb;


75  double _seedingTime;


76  std::vector<t_lc::type> _LCsGPS;


77  std::vector<t_lc::type> _LCsGLONASS;


78  std::vector<t_lc::type> _LCsGalileo;


79  std::vector<t_lc::type> _LCsBDS;


80  bool _pseudoObsIono;


81  bool _pseudoObsTropo;


82  bool _refSatRequired;


83  };


84 


85  }


86 


87  #endif

