Ignore:
Timestamp:
May 10, 2023, 11:19:40 AM (12 months ago)
Author:
stuerze
Message:

minor changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/combination/bnccomb.h

    r9821 r10038  
    44
    55#include <fstream>
     6#include <iostream>
    67#include <map>
    78#include <newmat.h>
     9#include <deque>
    810#include "bncephuser.h"
    911#include "satObs.h"
     
    2022 Q_OBJECT
    2123 public:
    22   bncComb();
    2324  virtual ~bncComb();
    2425  static bncComb* instance();
     
    4243
    4344 private:
     45  static bncComb* _instPtr;   // The one, single instance
     46  bncComb();                  // private constructor
     47  bncComb(const bncComb&);
     48  bncComb& operator=(const bncComb&);
     49
    4450  enum e_method{singleEpoch, filter};
    4551
     
    8591    cmbCorr() {
    8692      _eph                        = 0;
     93      _orbCorr                    = 0;
     94      _clkCorr                    = 0;
     95      _satCodeBias                = 0;
    8796      _iod                        = 0;
    8897      _dClkResult                 = 0.0;
    8998      _satCodeBiasIF              = 0.0;
     99      _weightFactor               = 1.0;
    90100    }
    91101    ~cmbCorr() {}
     
    94104    unsigned long  _iod;
    95105    t_eph*         _eph;
    96     t_orbCorr      _orbCorr;
    97     t_clkCorr      _clkCorr;
    98     t_satCodeBias  _satCodeBias;
     106    t_orbCorr*      _orbCorr;
     107    t_clkCorr*      _clkCorr;
     108    t_satCodeBias* _satCodeBias;
    99109    QString        _acName;
    100110    double         _satCodeBiasIF;
     
    109119    cmbEpoch() {}
    110120    ~cmbEpoch() {
     121      clear();
     122    }
     123    void clear() {
    111124      QVectorIterator<cmbCorr*> it(corrs);
    112125      while (it.hasNext()) {
     
    115128    }
    116129    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;
    117142  };
    118143
     
    196221  };
    197222
    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);
    204227  t_irc createAmat(char sys, Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP,
    205228                   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);
    208231  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;}
    211234
    212235  QMutex                                     _mutex;
    213236  QList<cmbAC*>                              _ACs;
    214   bncTime                                    _resTime;
     237  std::deque<epoClkData*>                    _epoClkData;
     238  bncTime                                    _lastClkCorrTime;
    215239  QMap<char, QVector<cmbParam*>>             _params;
    216   QMap<char, QMap<bncTime, cmbEpoch>>        _buffer;
     240  QMap<char, cmbEpoch>                       _buffer;
    217241  bncRtnetDecoder*                           _rtnetDecoder;
    218242  QMap<char, SymmetricMatrix>                _QQ;
     
    227251  int                                        _ms;
    228252  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;
    231255  bncEphUser                                 _ephUser;
    232256  SsrCorr*                                   _ssrCorr;
Note: See TracChangeset for help on using the changeset viewer.