Index: trunk/ArchTOIPipe/Kernel/asciitoiwtr.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/asciitoiwtr.cc	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/asciitoiwtr.cc	(revision 1464)
@@ -40,5 +40,5 @@
 
   double val;
-  int_4 flg;
+  int_8 flg;
   for (int sn = snb; sn <= sne; sn++) {
     s << sn << "   ";
Index: trunk/ArchTOIPipe/Kernel/fitstoiwtr.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/fitstoiwtr.cc	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/fitstoiwtr.cc	(revision 1464)
@@ -56,5 +56,5 @@
   char** colunits = new (char*[ncols]);
 
-  colnames[0] = "samplenum";
+  colnames[0] = "sampleNum";
   coltypes[0] = "1D";
   colunits[0] = "integer";
@@ -79,6 +79,6 @@
       cout << " Column[" << j+1 << "] -Flag- Name=" << coln[ck] << endl;
       ck++;
-      coltypes[j+2] = "1D";
-      colunits[j+2] = "IntFlag";
+      coltypes[j+2] = "1J";
+      colunits[j+2] = "Int_8Flag";
     }
   }
@@ -102,10 +102,10 @@
 
   double* tabdata = new double[ndata];
-  double* tabflag = new double[ndata]; // ? pas integer ?? $CHECK$ - Reza
+  long* tabflag = new long[ndata]; // ? pas int_8 ?? $CHECK$ - Reza
   bool* tabck = new bool[ndata];
   int i;
   for(i=0; i<ndata; i++) {
     tabdata[i] = -9.e19;  // $CHECK$ - Reza valeur par defaut !
-    tabflag[i] = -9.e19;  // $CHECK$ - Reza valeur par defaut !
+    tabflag[i] = 0;       // $CHECK$ - Reza valeur par defaut !
     tabck[i] = checkInputTOIIndex(i);
   } 
@@ -115,5 +115,5 @@
     //  cout << " DBG-A-FitsWriter::run()" << sn << endl;
     try {
-      int_4 out_flg;
+      int_8 out_flg;
       double out_val;
       for (i=0; i<ndata; i++) {
@@ -133,5 +133,5 @@
 	if (outFlags) {
 	  fits_write_col_dbl(fptr, 2*i+2, fitsLine, 1, 1, tabdata+i, &fstatus);
-	  fits_write_col_dbl(fptr, 2*i+3, fitsLine, 1, 1, tabflag+i, &fstatus);
+	  fits_write_col_lng(fptr, 2*i+3, fitsLine, 1, 1, tabflag+i, &fstatus);
 	} else {
 	  fits_write_col_dbl(fptr, i+2, fitsLine, 1, 1, tabdata+i, &fstatus);
Index: trunk/ArchTOIPipe/Kernel/toi.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/toi.cc	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toi.cc	(revision 1464)
@@ -9,8 +9,4 @@
 #endif
 
-#define CHKSYNC(ctx)  
-//  if (((TOIRegularWindow*)this)->data.size() != ((TOIRegularWindow*)this)->flags.size())        \
-//    cout << ctx << ((TOIRegularWindow*)this)->data.size() << "  " <<  \
-//      ((TOIRegularWindow*)this)->flags.size() << endl;  \
 
 TOI::TOI() {
@@ -73,12 +69,32 @@
 }
 
-#ifndef NO_SOPHYA
+/* 
+ RZCMV   ----- l'interface va etre modifiee, NE PAS UTILISER
+#ifndef NO_SOPHYA 
 Array TOI::getError(int iStart, int iEnd) {
   if (errorTOI == NULL) throw NotFoundExc("TOI::getDataError : no Error TOI");
-  return errorTOI->getData(iStart, iEnd);
+  return errorTOI->getData(iStart, iEnd); 
+}
+Array TOI::getData(int iStart, int iEnd) {
+  lock();
+  Array a = doGetData(iStart, iEnd);
+  unlock();
+  if (fgsigput) { fgsigput = false; broadcast(); }
+  return a;
+}
+TArray<int_4> TOI::getFlag(int iStart, int iEnd) {
+  lock();
+  TArray<int_4> a = doGetFlag(iStart, iEnd);
+  unlock();
+  if (fgsigput) { fgsigput = false; broadcast(); }
+  return a;
 }
 #endif
-
-/*RZCMV
+  l'interface va etre modifiee, NE PAS UTILISER ---- 
+*/
+
+
+/* 
+RZCMV  -------   A revoir les getError() ...
 double TOI::getError(int i) {
   if (errorTOI == NULL) throw NotFoundExc("TOI::getDataError : no Error TOI");
@@ -94,17 +110,7 @@
 */
 
-#ifndef NO_SOPHYA
-Array TOI::getData(int iStart, int iEnd) {
-  lock();
-  Array a = doGetData(iStart, iEnd);
-  unlock();
-  if (fgsigput) { fgsigput = false; broadcast(); }
-  return a;
-}
-#endif
-
 double TOI::getData(int i) {
   lock();
-  int_4 flg;
+  int_8 flg;
   double dat;
   doGetData(i, dat, flg);
@@ -114,5 +120,5 @@
 }
 
-void TOI::getData(int i, double &data,int_4 &flag) {
+void TOI::getData(int i, double &data,int_8 &flag) {
   lock();
   doGetData(i, data, flag);
@@ -122,20 +128,7 @@
 }
 
-
-
-#ifndef NO_SOPHYA
-TArray<int_4> TOI::getFlag(int iStart, int iEnd) {
-  lock();
-  TArray<int_4> a = doGetFlag(iStart, iEnd);
-  unlock();
-  if (fgsigput) { fgsigput = false; broadcast(); }
-  return a;
-}
-#endif
-
   
-  
-
-void TOI::putData(int i, double value, int_4 flag) {
+
+void TOI::putData(int i, double value, int_8 flag) {
   lock();
   doPutData(i, value, flag);
@@ -208,120 +201,2 @@
 
 
-TOIRegularWindow::TOIRegularWindow() {
-  i0 = -1;
-}
-
-TOIRegularWindow::TOIRegularWindow(string nm) {
-  i0 = -1;
-  setName(nm);
-}
-
-TOIRegularWindow::~TOIRegularWindow() {
-}
-
-TOI::DataStatus TOIRegularWindow::isDataAvailNL(int iStart, int iEnd) {
-  if (iEnd >= i0 + (long)data.size()) return DATA_NOT_YET;
-  if (iStart < i0) return DATA_DELETED;
-  return DATA_OK;
-}
-
-TOI::DataStatus TOIRegularWindow::isDataAvailNL(int i) {
-  return TOI::isDataAvailNL(i);
-}
-
-void TOIRegularWindow::doWontNeedBefore(int i) {
-  if (i>= i0 + (long)data.size())
-    i = i0 + (long)data.size() - 1;
-  if (i>i0) {  // don't empty list
-    int osz = data.size();
-    data.erase(data.begin(), data.begin()+(i-i0));
-    flags.erase(flags.begin(), flags.begin()+(i-i0));
-    i0 = i;
-  }
-}
-
-
-#ifndef NO_SOPHYA
-Array TOIRegularWindow::doGetData(int iStart, int iEnd) {
-  if (!isDataAvailNL(iStart, iEnd)) {
-    throw RangeCheckError("TOI::getData : data not available");
-  }
-  Array dat(iEnd - iStart + 1);
-  long j0 = iStart - i0;
-  for (int i=0; i<iEnd-iStart+1; i++) {
-    dat[i] = data[i+j0];
-  }
-  return dat;
-}
-#endif
-
-void TOIRegularWindow::doGetData(int i, double & val, int_4 & flg) {
-  if (isDataAvailNL(i) != DATA_OK) {
-    cerr << "TOI::getData : data not available " << i << endl;
-    throw RangeCheckError("TOI::getData : data not available");
-  }
-
-  val = data[i - i0];
-  flg = flags[i - i0];
-
-}
-
-
-#ifndef NO_SOPHYA
-TArray<int_4> TOIRegularWindow::doGetFlag(int iStart, int iEnd) {
-  if (isDataAvailNL(iStart, iEnd) != DATA_OK) throw RangeCheckError("TOI::getData : data not available");
-  TArray<int_4> dat(iEnd - iStart + 1);
-  long j0 = iStart - i0;
-  for (int i=0; i<iEnd-iStart+1; i++) {
-    dat[i] = flags[i+j0];
-  }
-  return dat;
-}
-#endif
-
-/*RZCMV
-int_4 TOIRegularWindow::doGetFlag(int i) {
-  if (isDataAvailNL(i) != DATA_OK) {
-    cerr << "TOI::getFlag : data not available " << i << endl;
-    throw RangeCheckError("TOI::getFlag : data not available");
-  }
-  return flags[i - i0]; 
-}
-*/
-
-
-void TOIRegularWindow::doPutData(int i, double value, int_4 flag) {
-  if (i0 == -1) {
-    data.insert(data.begin(), 1,  defaultValue);
-    flags.insert(flags.begin(), 1,  0);
-    i0 = i;
-  } else if (i<i0) {
-    data.insert(data.begin(), i0-i, defaultValue); 
-    flags.insert(flags.begin(), i0-i, 0);
-    i0 = i;
-  } else if (i>=i0+(int)data.size()) {
-    data.insert(data.end(), (long)  (i-(i0+data.size())+1), defaultValue);
-    flags.insert(flags.end(), (long) (i-(i0+flags.size())+1), 0);
-  }
-  data[i-i0] = value;
-  flags[i-i0] = flag;  
-}
-
-bool TOIRegularWindow::hasSomeData() {
-  lock();
-  bool x = !data.empty();
-  unlock();
-  return x;
-}
-
-int TOIRegularWindow::nextDataAvail(int iAfter) {
-  lock();
-  if (iAfter >= i0 + (long)data.size()) {unlock(); return -1;}
-  if (iAfter < i0) {unlock(); return i0;}
-  unlock();
-  return iAfter+1;
-}
-
-/*  A faire, le nettoyage (heuristique selon demandes ?, guide ? ) */
-		 
-
Index: trunk/ArchTOIPipe/Kernel/toi.h
===================================================================
--- trunk/ArchTOIPipe/Kernel/toi.h	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toi.h	(revision 1464)
@@ -6,6 +6,4 @@
 
 #include <pthread.h>
-#include <vector>
-using namespace std;
 
 #ifdef WITH_SOPHYA
@@ -31,10 +29,11 @@
   //  Fin rajouts Reza 12/3/2001 ------
 
+
 #ifdef WITH_SOPHYA
-  // l'interface va etre modifiee, NE PAS UTILISER
+  /* l'interface va etre modifiee, NE PAS UTILISER
   virtual Array         getData(int iStart, int iEnd);
   virtual Array         getError(int iStart, int iEnd);
   virtual TArray<int_4> getFlag(int iStart, int iEnd);
-  // l'interface va etre modifiee, NE PAS UTILISER
+  l'interface va etre modifiee, NE PAS UTILISER */
 #endif
 
@@ -42,5 +41,5 @@
     
   virtual double        getData(int i);
-  virtual void          getData(int i,double &data,int_4 &flag);
+  virtual void          getData(int i,double &data,int_8 &flag);
   //RZCMV  virtual DataStatus    getDataError(int i,double &data,double &error,int_4 &flag);
 
@@ -53,5 +52,5 @@
   virtual bool          hasSomeData()=0;
   
-  virtual void          putData(int i, double value, int_4 flag=0);
+  virtual void          putData(int i, double value, int_8 flag=0);
   //RZCMV  virtual void          putDataError(int i, double value, 
   //		                     double error, int_4 flag=0);
@@ -82,9 +81,12 @@
   
 #ifdef WITH_SOPHYA
+  /* l'interface va etre modifiee, NE PAS UTILISER
   virtual Array         doGetData(int iStart, int iEnd)=0;
   virtual TArray<int_4> doGetFlag(int iStart, int iEnd)=0;
+  l'interface va etre modifiee, NE PAS UTILISER */
 #endif
-  virtual void          doGetData(int i, double& data, int_4& flag)=0;
-  virtual void          doPutData(int i, double value, int_4 flag=0)=0;
+
+  virtual void          doGetData(int i, double& data, int_8& flag)=0;
+  virtual void          doPutData(int i, double value, int_8 flag=0)=0;
   virtual void          doWontNeedBefore(int i);
 
@@ -135,35 +137,4 @@
 };
 
-// Classe de TOI avec une fenetre glissante, et echantillonnage regulier.
-// Pour le moment au moins,
-// il faut que les providers fassent arriver les donnees par samplenum croissant.
-class TOIRegularWindow : public TOIRegular {
-public:
-  TOIRegularWindow();
-  TOIRegularWindow(string nm);
-  virtual ~TOIRegularWindow();
-
-  virtual DataStatus isDataAvailNL(int iStart, int iEnd);
-  virtual DataStatus isDataAvailNL(int i); // override required
-
-
-//protected:
-  vector<double> data;
-  vector<int_4>  flags;
-  long          i0;
-  double defaultValue;
- 
-#ifdef WITH_SOPHYA
-  virtual Array         doGetData(int iStart, int iEnd);
-  virtual TArray<int_4> doGetFlag(int iStart, int iEnd);
-#endif
-  virtual void          doGetData(int i, double & val, int_4 & flg);
-   
-  virtual void          doPutData(int i, double value, int_4 flag=0);
-  virtual void          doWontNeedBefore(int i);
-
-  virtual int           nextDataAvail(int iAfter);
-  virtual bool          hasSomeData();
-};
 
 #endif
Index: trunk/ArchTOIPipe/Kernel/toiprocessor.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiprocessor.cc	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toiprocessor.cc	(revision 1464)
@@ -259,4 +259,5 @@
 
 #ifndef NO_SOPHYA
+/* ---- l'interface va etre modifiee, NE PAS UTILISER
 Array TOIProcessor::getData(int toiIndex, int iStart, int iEnd) {
   TOI* toi = getInputTOI(toiIndex);
@@ -276,4 +277,5 @@
   return toi->getFlag(iStart, iEnd);
 }
+       l'interface va etre modifiee, NE PAS UTILISER ---- */
 #endif
 
@@ -284,5 +286,5 @@
 }
 
-void  TOIProcessor::getData(int toiIndex, int i, double &data,int_4 &flag)
+void  TOIProcessor::getData(int toiIndex, int i, double &data,int_8 &flag)
 {
   TOI* toi = getInputTOI(toiIndex);
@@ -337,5 +339,5 @@
 
 
-void TOIProcessor::putData(int toiIndex, int i, double value, int_4 flg) {
+void TOIProcessor::putData(int toiIndex, int i, double value, int_8 flg) {
   TOI* toi = getOutputTOI(toiIndex);
   toi->putData(i, value, flg);
Index: trunk/ArchTOIPipe/Kernel/toiprocessor.h
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiprocessor.h	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toiprocessor.h	(revision 1464)
@@ -43,7 +43,9 @@
 protected:
 #ifndef NO_SOPHYA
+  /* ---- l'interface va etre modifiee, NE PAS UTILISER
   Array         getData(int toiIndex, int iStart, int iEnd);
   Array         getError(int toiIndex, int iStart, int iEnd);
   TArray<int_4> getFlag(int toiIndex, int iStart, int iEnd);
+          l'interface va etre modifiee, NE PAS UTILISER ---- */
 #endif
   // si multiple input (indexed input), tableau 2D.
@@ -52,5 +54,5 @@
   // utilisees que sur des entrees simples
   double        getData(int toiIndex, int i);
-  void          getData(int toiIndex, int i, double &data,int_4 &flag);
+  void          getData(int toiIndex, int i, double &data,int_8 &flag);
   
   //RZCMV  double        getError(int toiIndex, int i);
@@ -61,5 +63,5 @@
   void          setNeededHistory(int nsamples); // -1 : disable
 
-  void          putData(int toiIndex, int i, double value, int_4 flag=0);
+  void          putData(int toiIndex, int i, double value, int_8 flag=0);
   //RZCMV  void          putDataError(int toiIndex, int i, double value, 
   //RZCMV		             double error, int_4 flag=0);
Index: trunk/ArchTOIPipe/Kernel/toiregwindow.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiregwindow.cc	(revision 1464)
+++ trunk/ArchTOIPipe/Kernel/toiregwindow.cc	(revision 1464)
@@ -0,0 +1,143 @@
+#include "toiprocessor.h"
+#include "toiregwindow.h"
+#include <pthread.h>
+
+#ifdef WITH_SOPHYA
+#include "pexceptions.h"
+#else
+#include "apexceptions.h"
+#endif
+
+#define CHKSYNC(ctx)  
+//  if (((TOIRegularWindow*)this)->data.size() != ((TOIRegularWindow*)this)->flags.size())        \
+//    cout << ctx << ((TOIRegularWindow*)this)->data.size() << "  " <<  \
+//      ((TOIRegularWindow*)this)->flags.size() << endl;  \
+
+// ------------------------------------------------------------
+// --------------------  TOIRegularWindow  --------------------
+// ------------------------------------------------------------
+
+
+TOIRegularWindow::TOIRegularWindow() {
+  i0 = -1;
+}
+
+TOIRegularWindow::TOIRegularWindow(string nm) {
+  i0 = -1;
+  setName(nm);
+}
+
+TOIRegularWindow::~TOIRegularWindow() {
+}
+
+TOI::DataStatus TOIRegularWindow::isDataAvailNL(int iStart, int iEnd) {
+  if (iEnd >= i0 + (long)data.size()) return DATA_NOT_YET;
+  if (iStart < i0) return DATA_DELETED;
+  return DATA_OK;
+}
+
+TOI::DataStatus TOIRegularWindow::isDataAvailNL(int i) {
+  return TOI::isDataAvailNL(i);
+}
+
+
+void TOIRegularWindow::doWontNeedBefore(int i) {
+  if (i>= i0 + (long)data.size())
+    i = i0 + (long)data.size() - 1;
+  if (i>i0) {  // don't empty list
+    int osz = data.size();
+    data.erase(data.begin(), data.begin()+(i-i0));
+    flags.erase(flags.begin(), flags.begin()+(i-i0));
+    i0 = i;
+  }
+}
+
+
+
+#ifndef NO_SOPHYA
+  /* ----- l'interface va etre modifiee, NE PAS UTILISER
+Array TOIRegularWindow::doGetData(int iStart, int iEnd) {
+  if (!isDataAvailNL(iStart, iEnd)) {
+    throw RangeCheckError("TOI::getData : data not available");
+  }
+  Array dat(iEnd - iStart + 1);
+  long j0 = iStart - i0;
+  for (int i=0; i<iEnd-iStart+1; i++) {
+    dat[i] = data[i+j0];
+  }
+  return dat;
+}
+TArray<int_4> TOIRegularWindow::doGetFlag(int iStart, int iEnd) {
+  if (isDataAvailNL(iStart, iEnd) != DATA_OK) throw RangeCheckError("TOI::getData : data not available");
+  TArray<int_4> dat(iEnd - iStart + 1);
+  long j0 = iStart - i0;
+  for (int i=0; i<iEnd-iStart+1; i++) {
+    dat[i] = flags[i+j0];
+  }
+  return dat;
+}
+  l'interface va etre modifiee, NE PAS UTILISER ----- */
+#endif
+
+void TOIRegularWindow::doGetData(int i, double & val, int_8 & flg) {
+  if (isDataAvailNL(i) != DATA_OK) {
+    cerr << "TOI::getData : data not available " << i << endl;
+    throw RangeCheckError("TOI::getData : data not available");
+  }
+
+  val = data[i - i0];
+  flg = flags[i - i0];
+
+}
+
+
+/*RZCMV
+int_4 TOIRegularWindow::doGetFlag(int i) {
+  if (isDataAvailNL(i) != DATA_OK) {
+    cerr << "TOI::getFlag : data not available " << i << endl;
+    throw RangeCheckError("TOI::getFlag : data not available");
+  }
+  return flags[i - i0]; 
+}
+*/
+
+
+
+void TOIRegularWindow::doPutData(int i, double value, int_8 flag) {
+  int_8 flgdef = 0;
+  if (i0 == -1) {
+    data.insert(data.begin(), 1,  defaultValue);
+    flags.insert(flags.begin(), 1,  flgdef);
+    i0 = i;
+  } else if (i<i0) {
+    data.insert(data.begin(), i0-i, defaultValue); 
+    flags.insert(flags.begin(), i0-i, flgdef);
+    i0 = i;
+  } else if (i>=i0+(int)data.size()) {
+    data.insert(data.end(), (long)  (i-(i0+data.size())+1), defaultValue);
+    flags.insert(flags.end(), (long) (i-(i0+flags.size())+1), flgdef);
+  }
+  data[i-i0] = value;
+  flags[i-i0] = flag;  
+}
+
+
+bool TOIRegularWindow::hasSomeData() {
+  lock();
+  bool x = !data.empty();
+  unlock();
+  return x;
+}
+
+int TOIRegularWindow::nextDataAvail(int iAfter) {
+  lock();
+  if (iAfter >= i0 + (long)data.size()) {unlock(); return -1;}
+  if (iAfter < i0) {unlock(); return i0;}
+  unlock();
+  return iAfter+1;
+}
+
+
+/*  A faire, le nettoyage (heuristique selon demandes ?, guide ? ) */
+		 
+
Index: trunk/ArchTOIPipe/Kernel/toiregwindow.h
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiregwindow.h	(revision 1464)
+++ trunk/ArchTOIPipe/Kernel/toiregwindow.h	(revision 1464)
@@ -0,0 +1,46 @@
+// This may look like C code, but it is really -*- C++ -*-
+#ifndef TOI_REGWINDOW_H
+#define TOI_REGWINDOW_H
+
+#include "config.h"
+
+#include <pthread.h>
+#include <vector>
+using namespace std;
+#include "toi.h"
+
+// Classe de TOI avec une fenetre glissante, et echantillonnage regulier.
+// Pour le moment au moins,
+// il faut que les providers fassent arriver les donnees par samplenum croissant.
+class TOIRegularWindow : public TOIRegular {
+public:
+  TOIRegularWindow();
+  TOIRegularWindow(string nm);
+  virtual ~TOIRegularWindow();
+
+  virtual DataStatus isDataAvailNL(int iStart, int iEnd);
+  virtual DataStatus isDataAvailNL(int i); // override required
+
+
+//protected:
+  vector<double> data;
+  vector<long>  flags;
+  long          i0;
+  double defaultValue;
+ 
+#ifdef WITH_SOPHYA
+  /* l'interface va etre modifiee, NE PAS UTILISER
+  virtual Array         doGetData(int iStart, int iEnd);
+  virtual TArray<int_4> doGetFlag(int iStart, int iEnd);
+  l'interface va etre modifiee, NE PAS UTILISER */
+#endif
+  virtual void          doGetData(int i, double & val, int_8 & flg);
+   
+  virtual void          doPutData(int i, double value, int_8 flag=0);
+  virtual void          doWontNeedBefore(int i);
+
+  virtual int           nextDataAvail(int iAfter);
+  virtual bool          hasSomeData();
+};
+
+#endif
Index: trunk/ArchTOIPipe/Kernel/toiseqbuff.cc
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiseqbuff.cc	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toiseqbuff.cc	(revision 1464)
@@ -30,5 +30,5 @@
   buffsize = 2*wsz;
   data = new double[buffsize];
-  flags = new int_4[buffsize];
+  flags = new int_8[buffsize];
   for(int k=0; k<buffsize; k++) {
     data[k] = defaultValue;
@@ -77,4 +77,5 @@
 
 #ifndef NO_SOPHYA
+/* ---- l'interface va etre modifiee, NE PAS UTILISER
 Array TOISeqBuffered::doGetData(int iStart, int iEnd) {
   //  if (iEnd < iStart) 
@@ -94,7 +95,8 @@
   return dat;
 }
+  l'interface va etre modifiee, NE PAS UTILISER ---- */
 #endif
 
-void TOISeqBuffered::doGetData(int i, double & val, int_4 & flg) {
+void TOISeqBuffered::doGetData(int i, double & val, int_8 & flg) {
   if (!started) { 
     cout << " TOISeqBuffered::doGetData() - waitGet() Waiting for start ... " << endl;
@@ -137,4 +139,5 @@
 
 #ifndef NO_SOPHYA
+/* ---- l'interface va etre modifiee, NE PAS UTILISER
 TArray<int_4> TOISeqBuffered::doGetFlag(int iStart, int iEnd) {
   if (!started) waitGet(); 
@@ -148,4 +151,5 @@
   return dat;
 }
+  l'interface va etre modifiee, NE PAS UTILISER ---- */
 #endif
 
@@ -163,5 +167,5 @@
 
 
-void TOISeqBuffered::doPutData(int i, double value, int_4 flag) {
+void TOISeqBuffered::doPutData(int i, double value, int_8 flag) {
   if (!started) {
     first_in = next_in = i;
@@ -217,5 +221,4 @@
 }
 
-/*  A faire, le nettoyage (heuristique selon demandes ?, guide ? ) */
 		 
 
Index: trunk/ArchTOIPipe/Kernel/toiseqbuff.h
===================================================================
--- trunk/ArchTOIPipe/Kernel/toiseqbuff.h	(revision 1462)
+++ trunk/ArchTOIPipe/Kernel/toiseqbuff.h	(revision 1464)
@@ -30,5 +30,5 @@
 protected:
   double* data;
-  int_4*  flags;
+  int_8*  flags;
   int wsize;
   int buffsize;
@@ -44,10 +44,12 @@
 
 #ifdef WITH_SOPHYA
+  /* ---- l'interface va etre modifiee, NE PAS UTILISER
   virtual Array         doGetData(int iStart, int iEnd);
   virtual TArray<int_4> doGetFlag(int iStart, int iEnd);
+  l'interface va etre modifiee, NE PAS UTILISER ---- */
 #endif
-  virtual void          doGetData(int i, double & val, int_4 & flg);
+  virtual void          doGetData(int i, double & val, int_8 & flg);
    
-  virtual void          doPutData(int i, double value, int_4 flag=0);
+  virtual void          doPutData(int i, double value, int_8 flag=0);
   virtual void          doWontNeedBefore(int i);
 
@@ -56,5 +58,5 @@
 
   inline double &       dataRef(int i) { return data[i%buffsize]; }
-  inline int_4 &        flagRef(int i) { return flags[i%buffsize]; }
+  inline int_8 &        flagRef(int i) { return flags[i%buffsize]; }
   inline bool           isDataDeleted(int i) 
     { return((i < next_in-buffsize-1) ? true : false); }
