Changeset 10038 in ntrip for trunk/BNC/src/combination/bnccomb.h
- Timestamp:
- May 10, 2023, 11:19:40 AM (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/combination/bnccomb.h
r9821 r10038 4 4 5 5 #include <fstream> 6 #include <iostream> 6 7 #include <map> 7 8 #include <newmat.h> 9 #include <deque> 8 10 #include "bncephuser.h" 9 11 #include "satObs.h" … … 20 22 Q_OBJECT 21 23 public: 22 bncComb();23 24 virtual ~bncComb(); 24 25 static bncComb* instance(); … … 42 43 43 44 private: 45 static bncComb* _instPtr; // The one, single instance 46 bncComb(); // private constructor 47 bncComb(const bncComb&); 48 bncComb& operator=(const bncComb&); 49 44 50 enum e_method{singleEpoch, filter}; 45 51 … … 85 91 cmbCorr() { 86 92 _eph = 0; 93 _orbCorr = 0; 94 _clkCorr = 0; 95 _satCodeBias = 0; 87 96 _iod = 0; 88 97 _dClkResult = 0.0; 89 98 _satCodeBiasIF = 0.0; 99 _weightFactor = 1.0; 90 100 } 91 101 ~cmbCorr() {} … … 94 104 unsigned long _iod; 95 105 t_eph* _eph; 96 t_orbCorr _orbCorr;97 t_clkCorr _clkCorr;98 t_satCodeBias 106 t_orbCorr* _orbCorr; 107 t_clkCorr* _clkCorr; 108 t_satCodeBias* _satCodeBias; 99 109 QString _acName; 100 110 double _satCodeBiasIF; … … 109 119 cmbEpoch() {} 110 120 ~cmbEpoch() { 121 clear(); 122 } 123 void clear() { 111 124 QVectorIterator<cmbCorr*> it(corrs); 112 125 while (it.hasNext()) { … … 115 128 } 116 129 QVector<cmbCorr*> corrs; 130 }; 131 132 class epoClkData { 133 public: 134 epoClkData() {} 135 ~epoClkData() { 136 for (unsigned ii = 0; ii < _clkCorr.size(); ii++) { 137 delete _clkCorr[ii]; 138 } 139 } 140 bncTime _time; 141 std::vector<t_clkCorr*> _clkCorr; 117 142 }; 118 143 … … 196 221 }; 197 222 198 199 void processEpoch(char sys); 200 t_irc processEpoch_filter(char sys, QTextStream& out, QMap<QString, cmbCorr*>& resCorr, 201 ColumnVector& dx); 202 t_irc processEpoch_singleEpoch(char sys, QTextStream& out, QMap<QString, cmbCorr*>& resCorr, 203 ColumnVector& dx); 223 void processEpoch(bncTime epoTime, const std::vector<t_clkCorr*>& clkCorrVec); 224 void processSystem(bncTime epoTime, char sys, QTextStream& out); 225 t_irc processEpoch_filter(bncTime epoTime, char sys, QTextStream& out, QMap<QString, cmbCorr*>& resCorr, ColumnVector& dx); 226 t_irc processEpoch_singleEpoch(bncTime epoTime, char sys, QTextStream& out, QMap<QString, cmbCorr*>& resCorr, ColumnVector& dx); 204 227 t_irc createAmat(char sys, Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP, 205 228 const ColumnVector& x0, QMap<QString, cmbCorr*>& resCorr); 206 void dumpResults( const QMap<QString, cmbCorr*>& resCorr);207 void printResults( QTextStream& out, const QMap<QString, cmbCorr*>& resCorr);229 void dumpResults(bncTime epoTime, const QMap<QString, cmbCorr*>& resCorr); 230 void printResults(bncTime epoTime, QTextStream& out, const QMap<QString, cmbCorr*>& resCorr); 208 231 void switchToLastEph(t_eph* lastEph, cmbCorr* corr); 209 t_irc checkOrbits( char sys, QTextStream& out);210 QVector<cmbCorr*>& corrs(char sys) {return _buffer[sys] [_resTime].corrs;}232 t_irc checkOrbits(bncTime epoTime, char sys, QTextStream& out); 233 QVector<cmbCorr*>& corrs(char sys) {return _buffer[sys].corrs;} 211 234 212 235 QMutex _mutex; 213 236 QList<cmbAC*> _ACs; 214 bncTime _resTime; 237 std::deque<epoClkData*> _epoClkData; 238 bncTime _lastClkCorrTime; 215 239 QMap<char, QVector<cmbParam*>> _params; 216 QMap<char, QMap<bncTime, cmbEpoch>>_buffer;240 QMap<char, cmbEpoch> _buffer; 217 241 bncRtnetDecoder* _rtnetDecoder; 218 242 QMap<char, SymmetricMatrix> _QQ; … … 227 251 int _ms; 228 252 QString _cmbRefAttributes; 229 QMap<QString, QMap<t_prn, t_orbCorr > > _orbCorrections;230 QMap<QString, QMap<t_prn, t_satCodeBias > > _satCodeBiases;253 QMap<QString, QMap<t_prn, t_orbCorr*> > _orbCorrections; 254 QMap<QString, QMap<t_prn, t_satCodeBias*> > _satCodeBiases; 231 255 bncEphUser _ephUser; 232 256 SsrCorr* _ssrCorr;
Note:
See TracChangeset
for help on using the changeset viewer.