Index: trunk/AddOn/TAcq/mfits2spec.cc
===================================================================
--- trunk/AddOn/TAcq/mfits2spec.cc	(revision 3610)
+++ trunk/AddOn/TAcq/mfits2spec.cc	(revision 3635)
@@ -45,9 +45,9 @@
 int ana_data_0(vector<string>& infiles, string& outfile);
 // Fonction d'analyse 2eme version , 1 voie / paquet
-int ana_data_1(vector<string>& infiles, string& oufile);
+int ana_data_1(vector<string>& infiles, string& oufile, bool fgnotrl=false);
 // Fonction d'analyse 2eme version , 2 voies / paquet
-int ana_data_2(vector<string>& infiles, string& oufile);
+int ana_data_2(vector<string>& infiles, string& oufile, bool fgnotrl=false);
 // Fonction d'analyse 2eme version , 2 voies / paquet
-int ana_data_fft_2(vector<string>& infiles, string& oufile);
+int ana_data_fft_2(vector<string>& infiles, string& oufile, bool fgnotrl=false);
 
 //----------------------------------------------------
@@ -59,8 +59,9 @@
     cout << " Usage: mfits2spec ACT OutPPF file1 [file2 file3 ...] " << endl;
     cout << "  Or :  mfits2spec ACT OutPPF -infits DirName Imin Imax " << endl;
-    cout << " ACT=-0,-1,-2,-fft2 \n" 
+    cout << " ACT=-0,-1,-2,-fft2 , -1nt -2nt -fft2nt \n" 
          << "   -0: Nancay-July2008 \n" 
          << "   -1,-2 :  Raw data  1 ou 2 channels / packet(or frame) \n" 
-         << "   -fft2 :  FFT data 2 channels / packet " << endl;
+         << "   -fft2 :  FFT data 2 channels / packet \n"
+         << "   nt : (-1nt -2nt -fft2nt) fits files without frame trailer " << endl;
     cout << " OutPPF : Output PPF file name " << endl;  
     cout << " file1,file2 ... : Input FITS files " << endl;  
@@ -96,8 +97,11 @@
     cout << " ---------- mfits2spec.cc Start - ACT= " << act << " ------------- " << endl;
     ResourceUsage resu;
+    bool fgnotrl=false;   // fichier fits avec Trailer de frame (> mai 2009)
+    if ((act=="-1nt")||(act=="-2nt")||(act=="-fft2nt")) fgnotrl=true;  // fichier fits SANS trailer 
+
     if (act == "-0") ana_data_0(infiles, outppf);
-    else if (act == "-1") ana_data_1(infiles, outppf);
-    else if (act == "-2") ana_data_2(infiles, outppf);
-    else if (act == "-fft2") ana_data_fft_2(infiles, outppf);
+    else if ((act == "-1")||(act=="-1nt")) ana_data_1(infiles, outppf, fgnotrl);
+    else if ((act == "-2")||(act=="-2nt")) ana_data_2(infiles, outppf, fgnotrl);
+    else if ((act == "-fft2")||(act=="-fft2nt")) ana_data_fft_2(infiles, outppf, fgnotrl);
     else cout << " mfits2spec.cc / Bad argument ACT=" << act << " -> exit" << endl;
     cout << resu ; 
@@ -177,5 +181,5 @@
 
 /*--Nouvelle-Fonction--*/
-int ana_data_1(vector<string>& infiles, string& outfile)
+int ana_data_1(vector<string>& infiles, string& outfile, bool fgnotrl)
 // Calcul spectre moyen 1 voie, donnees brutes  
 {
@@ -202,13 +206,18 @@
       continue;
     }
-// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) ...
+// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) si fgnotrl=true
+    int incpaqsz=0;
+    if (fgnotrl) {
+      incpaqsz=16;
+      cout << " Warning : FITS files without frame trailers ..." << endl;
+    }
     if (paqsz == 0)  {  // premier passage, on fixe la taille de paquet et on alloue le buffer
-      paqsz = mff.NAxis1()+16;
+      paqsz = mff.NAxis1()+incpaqsz;
       data = new Byte[paqsz];
       for(int ib=0; ib<paqsz; ib++) data[ib]=0;
     }
     else {
-      if (paqsz != mff.NAxis1()+16) {
-      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+16 --> skipping " << endl;
+      if (paqsz != mff.NAxis1()+incpaqsz) {
+      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+" << incpaqsz << " --> skipping " << endl;
       continue;
       }
@@ -257,5 +266,5 @@
 
 /*--Nouvelle-Fonction--*/
-int ana_data_2(vector<string>& infiles, string& outfile)
+int ana_data_2(vector<string>& infiles, string& outfile, bool fgnotrl)
 // Calcul spectres moyens 2 voies, donnees brutes  
 {
@@ -284,7 +293,12 @@
       continue;
     }
-// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) ...
+// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) si fgnotrl=true
+    int incpaqsz=0;
+    if (fgnotrl) {
+      incpaqsz=16;
+      cout << " Warning : FITS files without frame trailers ..." << endl;
+    }
     if (paqsz == 0)  {  // premier passage, on fixe la taille de paquet et on alloue le buffer
-      paqsz = mff.NAxis1()+16;
+      paqsz = mff.NAxis1()+incpaqsz;
       cout << " ana_data_2/ Allocating data , PaqSz=" << paqsz << endl;
       data = new Byte[paqsz];
@@ -292,6 +306,6 @@
     }
     else {
-      if (paqsz != mff.NAxis1()+16) {
-      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+16 --> skipping " << endl;
+      if (paqsz != mff.NAxis1()+incpaqsz) {
+      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+" << incpaqsz << " --> skipping " << endl;
       continue;
       }
@@ -359,5 +373,5 @@
 
 /*--Nouvelle-Fonction--*/
-int ana_data_fft_2(vector<string>& infiles, string& outfile)
+int ana_data_fft_2(vector<string>& infiles, string& outfile, bool fgnotrl)
 // Calcul spectres moyens 2 voies, donnees brutes  
 {
@@ -385,7 +399,12 @@
       continue;
     }
-// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) ...
+// Les fichier FITS contiennent l'entet (24 bytes), mais pas le trailer (16 bytes) si fgnotrl=true
+    int incpaqsz=0;
+    if (fgnotrl) {
+      incpaqsz=16;
+      cout << " Warning : FITS files without frame trailers ..." << endl;
+    }
     if (paqsz == 0)  {  // premier passage, on fixe la taille de paquet et on alloue le buffer
-      paqsz = mff.NAxis1()+16;
+      paqsz = mff.NAxis1()+incpaqsz;
       cout << " ana_data_fft_2/ Allocating data , PaqSz=" << paqsz << endl;
       data = new Byte[paqsz];
@@ -393,6 +412,6 @@
     }
     else {
-      if (paqsz != mff.NAxis1()+16) {
-      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+16 --> skipping " << endl;
+      if (paqsz != mff.NAxis1()+incpaqsz) {
+      cout << " PB : paqsz=" << paqsz << " != mff.NAxis1()+" << incpaqsz << " --> skipping " << endl;
       continue;
       }
