Index: trunk/Poubelle/archTOI.old/toiiter.cc
===================================================================
--- trunk/Poubelle/archTOI.old/toiiter.cc	(revision 426)
+++ trunk/Poubelle/archTOI.old/toiiter.cc	(revision 432)
@@ -36,4 +36,9 @@
  tStart = -9.e99;
  tEnd   = 9.e99;
+ utcStart = -9.e99;
+ utcEnd   = 9.e99;
+ 
+ sStart = -999999999;
+ sEnd   =  999999999;
  
  //tBlock0 = -1;
@@ -61,7 +66,13 @@
   if (x.initDone && x.curFile != x.files.end()) curFile = files.find(*(x.curFile));
   isOnBoardRecorder = x.isOnBoardRecorder;
-  imes = x.imes;
-  tStart = x.tStart;
-  tEnd = x.tEnd;
+  imes   = x.imes;
+  
+  tStart   = x.tStart;
+  tEnd     = x.tEnd;
+  utcStart = x.utcStart;
+  utcEnd   = x.utcEnd;
+  sStart   = x.sStart;
+  sEnd     = x.sEnd;
+  
   trigMask = x.trigMask;
   infos = x.infos;   
@@ -108,4 +119,12 @@
  if (initDone) return;
  initDone = true;
+ if (utcStart > 0) {
+   double t = (utcStart/24.) + archParam.acq.utcOrigin;
+   if (t > tStart) tStart=t;
+ }
+ if (utcEnd > 0) {
+   double t = (utcEnd/24.) + archParam.acq.utcOrigin;
+   if (t < tEnd) tEnd=t;
+ }
  // On a soit un repertoire, soit une liste de fichiers....
   if (directory == "") {
@@ -215,17 +234,16 @@
     if ((*i).triggering) {
       switch ((*i).kind) {
-      case boloTens:
-      case boloTens2:
-      case boloRaw:
-      case boloRawCN:
-      case boloTensCN:
+      case boloMuV:
+      case boloMuV2:
+      case boloRawMuV:
+      case boloRawMuVCN:
         trigMask |= block_bolo_mask;
         break;
-      case boloTens2T:
+      case boloMuV2T:
       case boloRes:
       case boloTemp:
          trigMask |= block_bolo_mask | block_reglage_mask;
         break;
-     case dilDAC:
+      case dilDAC:
       case dilSwitch:
         trigMask |= block_dilution_mask;
@@ -241,5 +259,5 @@
         trigMask |= block_gps_mask;
         break;
-      case azimutBolo:
+      case azimuthBolo:
         trigMask |= block_bolo_mask;
         //file->needSSTProcessMask(SSTHandler::findPeriod);
@@ -263,5 +281,5 @@
         break;
       case gyroRaw:
-      case gyroTens:
+      case gyroV:
         trigMask |= block_gyro_mask;
         break;
@@ -269,8 +287,10 @@
         trigMask |= block_gyro_mask; // $CHECK$ + info to calibrate gyros
         break;
-      case alphaAxis:
-      case deltaAxis:
+      case alphaRotAxis:
+      case deltaRotAxis:
       case alphaSst:
       case deltaSst:
+      case alphaFPAxis:
+      case deltaFPAxis:
       case alphaBolo:
       case deltaBolo:
@@ -278,4 +298,8 @@
         //file->needSSTProcessMask(SSTHandler::findAxis);
         //trigMask |= block_sst_mask;
+        break;
+      case alphaZenith:
+      case deltaZenith:
+        trigMask |= block_gps_mask;
         break;
       }
@@ -323,10 +347,10 @@
     double smp = file1stSamp[*i];
     double t   = archParam.acq.tBlock0 + smp * archParam.acq.perEch/86400.;
-    if (t>tEnd) {  // premier echantillon apres tEnd
+    if (t>tEnd || smp>sEnd) {  // premier echantillon apres tEnd
      files.erase(*i);
      prev = "";
      continue;
     }
-    if (t<tStart) { // premier echantillon avant tStart -> on vire le precedent si existe
+    if (t<tStart || smp<sStart) { // premier echantillon avant tStart -> on vire le precedent si existe
       if (prev != "") {
         files.erase(prev);
@@ -436,5 +460,6 @@
    TOIKind kind = infos[column].kind;
    if (auxGPS && 
-       (kind == longitude || kind == latitude || kind == altitude || kind == tsid)) {
+       (kind == longitude || kind == latitude || kind == altitude || kind == tsid ||
+        kind == alphaZenith || kind == deltaZenith)) {
          double dummy;
          return auxGPS->getLocation(getMJD(), dummy, dummy, dummy) == 0;
@@ -448,14 +473,14 @@
    case internalTime:
    case mjd:
+   case mutc:
      return true;
-   case boloTens:
-   case boloTens2:
-   case boloTens2T:
+   case boloMuV:
+   case boloMuV2:
+   case boloMuV2T:
    case boloRes:
-   case boloRawCN:
+   case boloRawMuVCN:
      if (imes==0 && file->llastBolo()==NULL) return false;
      return file->lastBolo() != NULL;
-   case boloTensCN:
-   case boloRaw:
+   case boloRawMuV:
      return file->lastBolo() != NULL;
    case boloGainAmpli:
@@ -480,5 +505,5 @@
    }
    case gyroRaw:
-   case gyroTens:
+   case gyroV:
    case gyroSpeed:
      return (file->lastGyro() != NULL);
@@ -487,4 +512,6 @@
    case longitude:
    case latitude:
+   case alphaZenith:
+   case deltaZenith:
      return file->hasGPSPos();
    case altitude:
@@ -492,7 +519,9 @@
    case tsid:
      return file->hasGPSPos();
-   case azimutBolo:
-   case alphaAxis:
-   case deltaAxis:
+   case azimuthBolo:
+   case alphaRotAxis:
+   case deltaRotAxis:
+   case alphaFPAxis:
+   case deltaFPAxis:
    case alphaBolo:
    case deltaBolo:
@@ -525,4 +554,5 @@
            return tSid.getLST(getMJD());
          }
+         
    }
    if (rawIter) {
@@ -540,13 +570,13 @@
    case mjd:
      return getMJD();
-   case boloTens:
+   case mutc:
+     return (getMJD()-archParam.acq.utcOrigin)*24.;
+   case boloMuV:
      return file->getMuVBolo(index, imes);
-   case boloTens2:
+   case boloMuV2:
      return file->getMuVBolo2(index, imes);
-   case boloRaw:
+   case boloRawMuV:
      return file->getRawBolo(index, imes);
-   case boloRawCN:
-     return file->getRawBoloCN(index, imes);
-   case boloTensCN:
+   case boloRawMuVCN:
      return file->getMuVBoloCN(index, imes);
    case boloGainAmpli:
@@ -556,5 +586,5 @@
    case boloDACI:
      return file->getDACI(index);
-   case boloTens2T:
+   case boloMuV2T:
      return file->getMuVBolo2T(index, imes);
    case boloRes:
@@ -582,5 +612,5 @@
    case gyroRaw:
      return file->getGyroRaw(index, imes);
-   case gyroTens:
+   case gyroV:
      return file->getGyroTens(index, imes);
    case gyroSpeed:
@@ -597,7 +627,11 @@
      tSid.setLongitude(file->getGPSLong());
      return tSid.getLST(getMJD());
-   case azimutBolo:
-   case alphaAxis:
-   case deltaAxis: 
+   case azimuthBolo:
+   case alphaRotAxis:
+   case deltaRotAxis: 
+   case alphaFPAxis:
+   case deltaFPAxis: 
+   case alphaZenith:
+   case deltaZenith: 
    case alphaBolo:
    case deltaBolo: {
@@ -614,9 +648,13 @@
         tempLocator.setEarthPos(lon, lat);
         tempLocator.setTSid(ts);
-        if ((kind) == alphaAxis) return tempLocator.getAlphaZenith();
-        if ((kind) == deltaAxis) return tempLocator.getDeltaZenith();
-        if ((kind) == azimutBolo) return tempLocator.getAzimutBolo(getSampleIndex(),index);
+        if ((kind) == alphaRotAxis) return tempLocator.getAlphaZenith();
+        if ((kind) == deltaRotAxis) return tempLocator.getDeltaZenith();
+        if ((kind) == alphaZenith) return tempLocator.getAlphaZenith();
+        if ((kind) == deltaZenith) return tempLocator.getDeltaZenith();
+        if ((kind) == azimuthBolo) return tempLocator.getAzimutBolo(getSampleIndex(),index);
         if ((kind) == alphaBolo) return tempLocator.getAlphaBolo(getSampleIndex(),index);
         if ((kind) == deltaBolo) return tempLocator.getDeltaBolo(getSampleIndex(),index);
+        if ((kind) == alphaFPAxis) return tempLocator.getAlphaCenter(getSampleIndex());
+        if ((kind) == deltaFPAxis) return tempLocator.getDeltaCenter(getSampleIndex());
         return 0;
      }
@@ -640,14 +678,14 @@
      case internalTime:
      case mjd:
+     case mutc:
      case tsid:
        return true;
-     case boloTens:
-     case boloTens2:
-     case boloTens2T:
+     case boloMuV:
+     case boloMuV2:
+     case boloMuV2T:
      case boloRes:
        return file->blockNum() == file->getBoloBlockNum();
-     case boloRaw:
-     case boloRawCN:
-     case boloTensCN:
+     case boloRawMuV:
+     case boloRawMuVCN:
        return file->blockNum() == file->getBoloBlockNum();
      case boloGainAmpli:
@@ -670,5 +708,5 @@
        return file->blockNum() == file->getSSTCompBlockNum();
      case gyroRaw:
-     case gyroTens:
+     case gyroV:
      case gyroSpeed:
        return file->blockNum() == file->getGyroBlockNum();
@@ -681,11 +719,15 @@
      case altitude:
        return file->blockNum() == file->getGPSBlockNum() && imes==0;
-     case azimutBolo:
+     case azimuthBolo:
      case alphaBolo:
      case deltaBolo:
+     case alphaZenith:
+     case deltaZenith:
+     case alphaFPAxis:
+     case deltaFPAxis:
        return true; // $CHECK$ with SSTHandler
-     case alphaAxis:
+     case alphaRotAxis:
        return true; // $CHECK$ with SSTHandler
-     case deltaAxis:
+     case deltaRotAxis:
        return true; // $CHECK$ with SSTHandler
    }
