Index: /trunk/BNC/src/rinex/availplot.cpp
===================================================================
--- /trunk/BNC/src/rinex/availplot.cpp	(revision 6271)
+++ /trunk/BNC/src/rinex/availplot.cpp	(revision 6272)
@@ -71,7 +71,6 @@
 // Constructor
 //////////////////////////////////////////////////////////////////////////////
-t_availPlot::t_availPlot(QWidget* parent, 
-                        QMap<t_prn, t_availData>* availDataMap) 
-: QwtPlot(parent) {
+t_availPlot::t_availPlot(QWidget* parent, const QMap<t_prn, t_plotData>& plotDataMap) : 
+QwtPlot(parent) {
 
   setCanvasBackground(QColor(Qt::white));
@@ -116,10 +115,10 @@
   // ------
   int iC = 0;
-  QMapIterator<t_prn, t_availData > it(*availDataMap);
+  QMapIterator<t_prn, t_plotData > it(plotDataMap);
   while (it.hasNext()) {
     it.next();
     ++iC;
-    QString            prn       = QString(it.key().toString().c_str());
-    const t_availData& availData = it.value();
+    QString           prn      = QString(it.key().toString().c_str());
+    const t_plotData& plotData = it.value();
 
     scaleDrawPrn->_yLabels[iC] = prn;
@@ -129,6 +128,6 @@
     // L1 ok Curve
     // -----------
-    if (availData._L1ok.size()) {
-      const QVector<double>& xData = availData._L1ok;
+    if (plotData._L1ok.size()) {
+      const QVector<double>& xData = plotData._L1ok;
       QVector<double>        yData(xData.size(), double(iC)+eps);
       QwtPlotCurve* curve = addCurve(prn, symbGreen, xData, yData);
@@ -138,6 +137,6 @@
     // L2 ok Curve
     // -----------
-    if (availData._L2ok.size()) {
-      const QVector<double>& xData = availData._L2ok;
+    if (plotData._L2ok.size()) {
+      const QVector<double>& xData = plotData._L2ok;
       QVector<double>        yData(xData.size(), double(iC)-eps);
       QwtPlotCurve* curve = addCurve(prn, symbGreen, xData, yData);
@@ -147,6 +146,6 @@
     // L1 gaps Curve
     // -------------
-    if (availData._L1gap.size()) {
-      const QVector<double>& xData = availData._L1gap;
+    if (plotData._L1gap.size()) {
+      const QVector<double>& xData = plotData._L1gap;
       QVector<double>        yData(xData.size(), double(iC)+eps);
       QwtPlotCurve* curve = addCurve(prn, symbBlue, xData, yData);
@@ -156,6 +155,6 @@
     // L2 gaps Curve
     // -------------
-    if (availData._L2gap.size()) {
-      const QVector<double>& xData = availData._L2gap;
+    if (plotData._L2gap.size()) {
+      const QVector<double>& xData = plotData._L2gap;
       QVector<double>        yData(xData.size(), double(iC)-eps);
       QwtPlotCurve* curve = addCurve(prn, symbBlue, xData, yData);
@@ -165,6 +164,6 @@
     // L1 slips Curve
     // --------------
-    if (availData._L1slip.size()) {
-      const QVector<double>& xData = availData._L1slip;
+    if (plotData._L1slip.size()) {
+      const QVector<double>& xData = plotData._L1slip;
       QVector<double>        yData(xData.size(), double(iC)+eps);
       QwtPlotCurve* curve = addCurve(prn, symbRed, xData, yData);
@@ -174,6 +173,6 @@
     // L2 slips Curve
     // --------------
-    if (availData._L2slip.size()) {
-      const QVector<double>& xData = availData._L2slip;
+    if (plotData._L2slip.size()) {
+      const QVector<double>& xData = plotData._L2slip;
       QVector<double>        yData(xData.size(), double(iC)-eps);
       QwtPlotCurve* curve = addCurve(prn, symbRed, xData, yData);
Index: /trunk/BNC/src/rinex/availplot.h
===================================================================
--- /trunk/BNC/src/rinex/availplot.h	(revision 6271)
+++ /trunk/BNC/src/rinex/availplot.h	(revision 6272)
@@ -7,6 +7,5 @@
 #include <qwt_plot_curve.h>
 #include "t_prn.h"
-
-class t_availData;
+#include "reqcanalyze.h"
 
 class t_availPlot: public QwtPlot {
@@ -14,5 +13,5 @@
 
 public:
-  t_availPlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap);
+  t_availPlot(QWidget* parent, const QMap<t_prn, t_plotData>& plotDataMap);
 
 private:
Index: /trunk/BNC/src/rinex/dopplot.h
===================================================================
--- /trunk/BNC/src/rinex/dopplot.h	(revision 6271)
+++ /trunk/BNC/src/rinex/dopplot.h	(revision 6272)
@@ -6,4 +6,5 @@
 #include <qwt_symbol.h>
 #include <qwt_plot_curve.h>
+#include "reqcanalyze.h"
 
 class t_obsStat;
@@ -13,5 +14,5 @@
 
 public:
-  t_dopPlot(QWidget* parent, t_obsStat* obsStat);
+  t_dopPlot(QWidget* parent, const QMap<t_prn, t_plotData>& plotData);
 
 private:
Index: /trunk/BNC/src/rinex/eleplot.cpp
===================================================================
--- /trunk/BNC/src/rinex/eleplot.cpp	(revision 6271)
+++ /trunk/BNC/src/rinex/eleplot.cpp	(revision 6272)
@@ -61,5 +61,5 @@
 // Constructor
 //////////////////////////////////////////////////////////////////////////////
-t_elePlot::t_elePlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap) 
+t_elePlot::t_elePlot(QWidget* parent, const QMap<t_prn, t_plotData>& plotDataMap) 
 : QwtPlot(parent) {
 
@@ -81,19 +81,19 @@
   // Curves
   // ------
-  int numCurves = availDataMap->size();
+  int numCurves = plotDataMap.size();
   if (numCurves > 0) {
     int iC = 0;
-    QMapIterator<t_prn, t_availData > it(*availDataMap);
+    QMapIterator<t_prn, t_plotData> it(plotDataMap);
     while (it.hasNext()) {
       it.next();
       ++iC;
-      QString            prn       = QString(it.key().toString().c_str());
-      const t_availData& availData = it.value();
+      QString           prn      = QString(it.key().toString().c_str());
+      const t_plotData& plotData = it.value();
     
       // Draw one curve
       // --------------
-      if (availData._eleTim.size()) {
-        const QVector<double>& xData = availData._eleTim;
-        const QVector<double>& yData = availData._eleDeg;
+      if (plotData._mjdX24.size()) {
+        const QVector<double>& xData = plotData._mjdX24;
+        const QVector<double>& yData = plotData._eleDeg;
         QColor color = QColor::fromHsv((iC-1)*(359.0/numCurves), 255, 255);
         QwtSymbol symbol(QwtSymbol::Rect, QBrush(color), QPen(color), QSize(1,1));
Index: /trunk/BNC/src/rinex/eleplot.h
===================================================================
--- /trunk/BNC/src/rinex/eleplot.h	(revision 6271)
+++ /trunk/BNC/src/rinex/eleplot.h	(revision 6272)
@@ -7,4 +7,5 @@
 #include <qwt_plot_curve.h>
 #include "t_prn.h"
+#include "reqcanalyze.h"
 
 class t_availData;
@@ -14,5 +15,5 @@
 
 public:
-  t_elePlot(QWidget* parent, QMap<t_prn, t_availData>* availDataMap);
+  t_elePlot(QWidget* parent, const QMap<t_prn, t_plotData>& plotDataMap);
 
 private:
Index: /trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6271)
+++ /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 6272)
@@ -637,11 +637,13 @@
 void t_reqcAnalyze::dspAvailPlot(const QString& fileName, const QByteArray& title) {
 
+  QMap<t_prn, t_plotData> plotData;
+
   if (BNC_CORE->GUIenabled()) {
-    t_availPlot* plotA = new t_availPlot(0, _qcFile._qcEpoSampled);
+    t_availPlot* plotA = new t_availPlot(0, plotData);
     plotA->setTitle(title);
 
-    t_elePlot* plotZ = new t_elePlot(0, _qcFile._qcEpoSampled);
-
-    t_dopPlot* plotD = new t_dopPlot(0, _qcFile._qcEpoSampled);
+    t_elePlot* plotZ = new t_elePlot(0, plotData);
+
+    t_dopPlot* plotD = new t_dopPlot(0, plotData);
 
     QVector<QWidget*> plots;
Index: /trunk/BNC/src/rinex/reqcanalyze.h
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.h	(revision 6271)
+++ /trunk/BNC/src/rinex/reqcanalyze.h	(revision 6272)
@@ -33,4 +33,17 @@
 
 class t_polarPoint;
+
+class t_plotData {
+ public:
+  QVector<double> _mjdX24;
+  QVector<double> _PDOP;
+  QVector<double> _L1ok;
+  QVector<double> _L2ok;
+  QVector<double> _L1slip;
+  QVector<double> _L2slip;
+  QVector<double> _L1gap;
+  QVector<double> _L2gap;
+  QVector<double> _eleDeg;
+};
 
 class t_qcObs {
