Index: trunk/BNC/src/rinex/availplot.cpp
===================================================================
--- trunk/BNC/src/rinex/availplot.cpp	(revision 6267)
+++ trunk/BNC/src/rinex/availplot.cpp	(revision 6269)
@@ -72,5 +72,5 @@
 //////////////////////////////////////////////////////////////////////////////
 t_availPlot::t_availPlot(QWidget* parent, 
-                        QMap<QString, t_availData>* availDataMap) 
+                        QMap<t_prn, t_availData>* availDataMap) 
 : QwtPlot(parent) {
 
@@ -116,10 +116,10 @@
   // ------
   int iC = 0;
-  QMapIterator<QString, t_availData > it(*availDataMap);
+  QMapIterator<t_prn, t_availData > it(*availDataMap);
   while (it.hasNext()) {
     it.next();
     ++iC;
-    const QString&         prn       = it.key();
-    const t_availData&     availData = it.value();
+    QString            prn       = QString(it.key().toString().c_str());
+    const t_availData& availData = it.value();
 
     scaleDrawPrn->_yLabels[iC] = prn;
Index: trunk/BNC/src/rinex/availplot.h
===================================================================
--- trunk/BNC/src/rinex/availplot.h	(revision 6267)
+++ trunk/BNC/src/rinex/availplot.h	(revision 6269)
@@ -6,4 +6,5 @@
 #include <qwt_symbol.h>
 #include <qwt_plot_curve.h>
+#include "t_prn.h"
 
 class t_availData;
@@ -13,5 +14,5 @@
 
 public:
-  t_availPlot(QWidget* parent, QMap<QString, t_availData>* availDataMap);
+  t_availPlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap);
 
 private:
Index: trunk/BNC/src/rinex/eleplot.cpp
===================================================================
--- trunk/BNC/src/rinex/eleplot.cpp	(revision 6267)
+++ trunk/BNC/src/rinex/eleplot.cpp	(revision 6269)
@@ -61,5 +61,5 @@
 // Constructor
 //////////////////////////////////////////////////////////////////////////////
-t_elePlot::t_elePlot(QWidget* parent, QMap<QString, t_availData>* availDataMap) 
+t_elePlot::t_elePlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap) 
 : QwtPlot(parent) {
 
@@ -84,9 +84,9 @@
   if (numCurves > 0) {
     int iC = 0;
-    QMapIterator<QString, t_availData > it(*availDataMap);
+    QMapIterator<t_prn, t_availData > it(*availDataMap);
     while (it.hasNext()) {
       it.next();
       ++iC;
-      const QString&     prn       = it.key();
+      QString            prn       = QString(it.key().toString().c_str());
       const t_availData& availData = it.value();
     
Index: trunk/BNC/src/rinex/eleplot.h
===================================================================
--- trunk/BNC/src/rinex/eleplot.h	(revision 6267)
+++ trunk/BNC/src/rinex/eleplot.h	(revision 6269)
@@ -6,4 +6,5 @@
 #include <qwt_symbol.h>
 #include <qwt_plot_curve.h>
+#include "t_prn.h"
 
 class t_availData;
@@ -13,5 +14,5 @@
 
 public:
-  t_elePlot(QWidget* parent, QMap<QString, t_availData>* availDataMap);
+  t_elePlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap);
 
 private:
Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6267)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6269)
@@ -240,11 +240,11 @@
         t_rnxObsFile::setObsFromRnx(obsFile, _currEpo, rnxSat, obs);
 
-        QString prn(obs._prn.toString().c_str());
+        const t_prn& prn = obs._prn;
 
         t_ephGlo* ephGlo  = 0;
         int       slotNum = 0;
-        if (obs._prn.system() == 'R') {
+        if (prn.system() == 'R') {
           for (int ie = 0; ie < _ephs.size(); ie++) {
-            if (QString(_ephs[ie]->prn().toString().c_str()) == prn) {
+            if (_ephs[ie]->prn() == prn) {
               ephGlo = dynamic_cast<t_ephGlo*>(_ephs[ie]);
               break;
@@ -295,8 +295,8 @@
   QVector<t_polarPoint*>* dataSNR2 = new QVector<t_polarPoint*>;
 
-  QMutableMapIterator<QString, t_allObs> it(_allObsMap);
+  QMutableMapIterator<t_prn, t_allObs> it(_allObsMap);
   while (it.hasNext()) {
     it.next();
-    QString    prn     = it.key();
+    const t_prn& prn = it.key();
     preparePlotData(prn, xyzSta, obsFile->interval(),
                     dataMP1, dataMP2, dataSNR1, dataSNR2);
@@ -455,5 +455,5 @@
 //
 ////////////////////////////////////////////////////////////////////////////
-void t_reqcAnalyze::preparePlotData(const QString& prn,
+void t_reqcAnalyze::preparePlotData(const t_prn& prn,
                                     const ColumnVector& xyzSta,
                                     double obsInterval,
@@ -539,5 +539,5 @@
           t_eph* eph = 0;
           for (int ie = 0; ie < _ephs.size(); ie++) {
-            if (QString(_ephs[ie]->prn().toString().c_str()) == prn) {
+            if (_ephs[ie]->prn() == prn) {
               eph = _ephs[ie];
               break;
@@ -609,7 +609,7 @@
     // Compute the Multipath
     // ---------------------
-    if ( (prn[0] == 'G' && plotGPS           ) ||
-         (prn[0] == 'R' && plotGlo && slotSet) ||
-         (prn[0] == 'E' && plotGal           ) ) {
+    if ( (prn.system() == 'G' && plotGPS           ) ||
+         (prn.system() == 'R' && plotGlo && slotSet) ||
+         (prn.system() == 'E' && plotGal           ) ) {
       bool slipMP = false;
       meanMP1 /= numEpo;
@@ -680,7 +680,7 @@
     // Signal-to-Noise Ratio Plot Data
     // -------------------------------
-    if ( (prn[0] == 'G' && plotGPS) ||
-         (prn[0] == 'R' && plotGlo) ||
-         (prn[0] == 'E' && plotGal) ) {
+    if ( (prn.system() == 'G' && plotGPS) ||
+         (prn.system() == 'R' && plotGlo) ||
+         (prn.system() == 'E' && plotGal) ) {
       (*dataSNR1) << (new t_polarPoint(aziDeg, zenDeg, minSNR1));
       (*dataSNR2) << (new t_polarPoint(aziDeg, zenDeg, minSNR2));
@@ -802,5 +802,5 @@
   int numSlipsFlagged = 0;
   int numSlipsFound   = 0;
-  QMapIterator<QString, t_prnStat> it(_obsStat._prnStat);
+  QMapIterator<t_prn, t_prnStat> it(_obsStat._prnStat);
   while (it.hasNext()) {
     it.next();
Index: trunk/BNC/src/rinex/reqcanalyze.h
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.h	(revision 6267)
+++ trunk/BNC/src/rinex/reqcanalyze.h	(revision 6269)
@@ -77,5 +77,5 @@
   QString         _receiverType;
   double          _interval;
-  QMap<QString, t_prnStat> _prnStat;
+  QMap<t_prn, t_prnStat> _prnStat;
 };
 
@@ -155,5 +155,5 @@
 
   void analyzeFile(t_rnxObsFile* obsFile);
-  void preparePlotData(const QString& prn, const ColumnVector& xyzSta, 
+  void preparePlotData(const t_prn& prn, const ColumnVector& xyzSta, 
                        double obsInterval,
                        QVector<t_polarPoint*>* dataMP1, 
@@ -169,16 +169,16 @@
                    QVector<t_polarPoint*>* dataSNR2);
 
-  QString                    _logFileName;
-  QFile*                     _logFile;
-  QTextStream*               _log;
-  QStringList                _obsFileNames;
-  QVector<t_rnxObsFile*>     _rnxObsFiles;
-  QStringList                _navFileNames;
-  QVector<t_eph*>            _ephs;
-  t_rnxObsFile::t_rnxEpo*    _currEpo;
-  QMap<QString, t_allObs>    _allObsMap;
-  QMap<QString, t_availData> _availDataMap;
-  t_obsStat                  _obsStat;
-  QMutex                     _mutex;
+  QString                  _logFileName;
+  QFile*                   _logFile;
+  QTextStream*             _log;
+  QStringList              _obsFileNames;
+  QVector<t_rnxObsFile*>   _rnxObsFiles;
+  QStringList              _navFileNames;
+  QVector<t_eph*>          _ephs;
+  t_rnxObsFile::t_rnxEpo*  _currEpo;
+  QMap<t_prn, t_allObs>    _allObsMap;
+  QMap<t_prn, t_availData> _availDataMap;
+  t_obsStat                _obsStat;
+  QMutex                   _mutex;
 };
 
