Index: /trunk/SophyaExt/FitsIOServer/fiosinit.cc
===================================================================
--- /trunk/SophyaExt/FitsIOServer/fiosinit.cc	(revision 3062)
+++ /trunk/SophyaExt/FitsIOServer/fiosinit.cc	(revision 3063)
@@ -13,4 +13,5 @@
 #include "fitslocalmap.h"
 #include "fitshistos.h"
+#include "fitsgenedata.h"
 
 
@@ -47,4 +48,5 @@
   FitsManager::RegisterHandler(new FitsHandler<Histo>, 0, "Histo");
   FitsManager::RegisterHandler(new FitsHandler<Histo2D>, 0, "Histo2D");
+  FitsManager::RegisterHandler(new FitsHandler<GeneralFitData>, 0, "GeneralFitData");
   
   FitsManager::RegisterHandler(new FITS_SphereHEALPix<r_4> , 0, "SphereHEALPix<r_4>");
Index: /trunk/SophyaExt/FitsIOServer/fitsgenedata.cc
===================================================================
--- /trunk/SophyaExt/FitsIOServer/fitsgenedata.cc	(revision 3063)
+++ /trunk/SophyaExt/FitsIOServer/fitsgenedata.cc	(revision 3063)
@@ -0,0 +1,206 @@
+#include "machdefs.h"
+#include "sopnamsp.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <iostream>
+#include <typeinfo>
+
+#include "generaldata.h"
+
+#include "fitsblkrw.h"
+#include "fitshandler.h"
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+int FitsHandler<GeneralFitData>::CheckReadability(FitsInOutFile& is)
+{
+  if (is.CurrentHDUType() == IMAGE_HDU ) return 0;
+  string key = "SOPCLSNM"; 
+  string clsnm = is.KeyValue(key);
+  if( clsnm == "SOPHYA::GeneralFitData") return 2;
+  return 0;
+}
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+int FitsHandler<GeneralFitData>::CheckHandling(AnyDataObj & o) 
+{  
+ if (typeid(o) == typeid(GeneralFitData)) return 2;
+ GeneralFitData * po = dynamic_cast< GeneralFitData * >(& o); 
+ if (po != NULL) return 2;
+ return 0;
+}
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void FitsHandler<GeneralFitData>::Write(FitsInOutFile& os)
+{
+  if(dobj==NULL)   
+    throw NullPtrError("FitsHandler<GeneralFitData>::Write() NULL dobj pointer ");
+
+  //--- Le type d'objet et son pointeur
+  GeneralFitData* gd = dynamic_cast< GeneralFitData *> (dobj);
+  long nvar = gd->mNVar;
+  if(nvar<=0)
+    throw NullPtrError("FitsHandler<GeneralFitData>::Write() no variables ");
+
+  //--- Les noms de colonnes
+  int tbltyp = os.GetDef_TableType();
+  vector<string> colnames, tform, tunit;
+  // La variable Y et son Erreur
+  if(tbltyp==ASCII_TBL) tform.push_back("D15.8"); else tform.push_back("D");
+  colnames.push_back("y");
+  tunit.push_back("");
+  if(tbltyp==ASCII_TBL) tform.push_back("D15.8"); else tform.push_back("D");
+  colnames.push_back("ey");
+  tunit.push_back("");
+  // Le flag de validite
+  if(tbltyp==ASCII_TBL) tform.push_back("I9"); else tform.push_back("J");
+  colnames.push_back("ok");
+  tunit.push_back("");
+  // Les variables X
+  for(int i=0;i<nvar;i++) {
+    char str[16]; sprintf(str,"x%d",i);
+    if(tbltyp==ASCII_TBL) tform.push_back("D15.8"); else tform.push_back("D");
+    colnames.push_back(str);
+    tunit.push_back("");
+  }
+  // Les erreurs sur les variables X
+  if(gd->HasXErrors()) {
+    for(int i=0;i<nvar;i++) {
+      char str[16]; sprintf(str,"ex%d",i);
+      if(tbltyp==ASCII_TBL) tform.push_back("D15.8"); else tform.push_back("D");
+      colnames.push_back(str);
+      tunit.push_back("");
+    }
+  }
+
+  //--- On cree la table  
+  string extname = os.NextExtensionName();
+  os.CreateTable(os.GetDef_TableType(),extname,colnames,tform,tunit);
+
+  //--- Ecriture des donnees des colonnes
+  long n = gd->mNDataAlloc;
+  if(n>0) {
+    // Y
+    FitsBlockRW<r_8>::WriteColumnData(os,1,1,1,gd->mF,n);
+    // EY
+    FitsBlockRW<r_8>::WriteColumnData(os,2,1,1,gd->mErr,n);
+    // Le flag de validite
+    int_4 *ival = new int_4[n];
+    for(int_4 i=0;i<n;i++) ival[i] =  gd->mOK[i];
+    FitsBlockRW<int_4>::WriteColumnData(os,3,1,1,ival,n);
+    delete [] ival;
+    // les variables X
+    r_8 *val = new r_8[n];
+    for(int k=0;k<nvar;k++) {
+      for(int_4 i=0;i<n;i++) val[i] = gd->mXP[nvar*i+k];
+      FitsBlockRW<r_8>::WriteColumnData(os,4+k,1,1,val,n);
+    }
+    // les erreurs sur les variables X
+    if(gd->HasXErrors()) {
+      for(int k=0;k<nvar;k++) {
+        for(int_4 i=0;i<n;i++) val[i] = gd->mErrXP[nvar*i+k];
+        FitsBlockRW<r_8>::WriteColumnData(os,4+nvar+k,1,1,val,n);
+      }
+    }
+    delete [] val;
+  }
+
+  //--- Ecriture des clefs fits
+  MuTyV mtv;
+
+  mtv = "SOPHYA::GeneralFitData";
+  os.WriteKey("SOPCLSNM",mtv," SOPHYA class name");
+
+  mtv = "GeneralFitData";
+  os.WriteKey("CONTENT",mtv," name of SOPHYA object");
+
+  mtv = gd->mNVar;
+  os.WriteKey("NVAR",mtv," number of variables X");
+
+  mtv = gd->mNDataAlloc;
+  os.WriteKey("NALLOC",mtv," number of allocated data");
+  mtv = gd->mNData;
+  os.WriteKey("NDATA",mtv," number of filled data");
+  mtv = gd->mNDataGood;
+  os.WriteKey("NGOOD",mtv," number of good filled data");
+
+  mtv = (int_4)((gd->HasXErrors())? 1: 0);
+  os.WriteKey("HASXERR",mtv," erreurs sur X?");
+
+  return;
+}
+
+DECL_TEMP_SPEC  /* equivalent a template <> , pour SGI-CC en particulier */
+void FitsHandler<GeneralFitData>::Read(FitsInOutFile& is)
+{
+ int hdutyp = is.CurrentHDUType();
+ if( (hdutyp != BINARY_TBL ) && (hdutyp != ASCII_TBL) )
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() Not a binary or ascii table HDU");
+
+  //--- Nb de lignes et de colonnes 
+  vector<string> colnames; vector<int> coltypes; vector<long> repcnt, width;
+  is.GetColInfo(colnames,coltypes,repcnt,width);
+  long ncol = colnames.size();
+  if(ncol<=0)
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() bad number of table columns");
+  long nbrows = is.GetNbRows();
+  if(nbrows<=0)
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() number of rows is zero, no reading");
+
+  //--- Lecture entete FITS
+  DVList dvl; is.GetHeaderRecords(dvl,true,false);
+
+  int_4 nvar = dvl.GetI("NVAR",-1);
+  if(nvar<=0)
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() number of variables is zero, no reading");
+
+  int_4 ndatalloc = dvl.GetI("NALLOC",-1);
+  if(ndatalloc<=0)
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() number of allocated data is zero, no reading");
+  int_4 ndata = dvl.GetI("NDATA",-1);
+  int_8 ndatagood = dvl.GetI("NGOOD",-1);
+
+  int_4 dum = dvl.GetI("HASXERR",0);
+  uint_2 ok_ex = (dum==0) ? 0: 1;
+
+  int mynvar = 3 + nvar + ((ok_ex>0)? nvar: 0);
+  if(ncol!=mynvar)
+    throw FitsIOException("FitsHandler<GeneralFitData>::Read() inconsistent header/mvar, no reading");
+
+  //--- Creation de l'objet
+  if(dobj == NULL) dobj = new GeneralFitData;
+  dobj->Alloc(nvar,ndatalloc,ok_ex);
+
+  //--- remplissage des variables privees restantes
+  dobj->mNData = ndata;
+  dobj->mNDataGood = ndatagood;
+
+  //--- remplissage de la structure de donnees
+  if(ndata>0) {
+    // Y
+    FitsBlockRW<r_8>::ReadColumnData(is,1,1,1,dobj->mF,ndata);
+    // EY
+    FitsBlockRW<r_8>::ReadColumnData(is,2,1,1,dobj->mErr,ndata);
+    // Le flag de validite
+    int_4 *ival = new int_4[ndata];
+    FitsBlockRW<int_4>::ReadColumnData(is,3,1,1,ival,ndata);
+    for(int_4 i=0;i<ndata;i++) dobj->mOK[i] = (uint_2)ival[i];
+    delete [] ival;
+    // les variables X
+    r_8 *val = new r_8[ndata];
+    for(int k=0;k<nvar;k++) {
+      FitsBlockRW<r_8>::ReadColumnData(is,4+k,1,1,val,ndata);
+      for(int_4 i=0;i<ndata;i++) dobj->mXP[nvar*i+k] = val[i];
+    }
+    // les erreurs sur les variables X
+    if(dobj->HasXErrors()) {
+      for(int k=0;k<nvar;k++) {
+        FitsBlockRW<r_8>::ReadColumnData(is,4+nvar+k,1,1,val,ndata);
+        for(int_4 i=0;i<ndata;i++) dobj->mErrXP[nvar*i+k] = val[i];
+      }
+    }
+    delete [] val;
+  }
+
+  return;
+}
Index: /trunk/SophyaExt/FitsIOServer/fitsgenedata.h
===================================================================
--- /trunk/SophyaExt/FitsIOServer/fitsgenedata.h	(revision 3063)
+++ /trunk/SophyaExt/FitsIOServer/fitsgenedata.h	(revision 3063)
@@ -0,0 +1,27 @@
+#ifndef FITSGENDATAHAND_H
+#define FITSGENDATAHAND_H
+
+#include "machdefs.h"
+#include <string>
+
+#include "generaldata.h"
+#include "fitshandler.h"
+
+namespace SOPHYA {
+
+/*! 
+  \ingroup FitsIOServer
+  \brief FITS I/O handler for GeneralFitData objects
+*/
+
+inline FitsInOutFile& operator << (FitsInOutFile& os, GeneralFitData const & obj)
+{ FitsHandler<GeneralFitData> fio(const_cast<GeneralFitData &>(obj));  fio.Write(os);  return os; }
+
+inline FitsInOutFile& operator >> (FitsInOutFile& is, GeneralFitData & obj)
+  { FitsHandler<GeneralFitData> fio(obj); is.SkipEmptyFirstHDU();
+  fio.Read(is); is.MoveToNextHDU(); return(is); }
+
+
+} // Fin du namespace
+
+#endif
Index: /trunk/SophyaExt/FitsIOServer/objlist.list
===================================================================
--- /trunk/SophyaExt/FitsIOServer/objlist.list	(revision 3062)
+++ /trunk/SophyaExt/FitsIOServer/objlist.list	(revision 3063)
@@ -8,4 +8,5 @@
 fitsbntbllineRW.o
 fitsfile.o
+fitsgenedata.o
 fitshdtable.o
 fitshistos.o
Index: /trunk/SophyaExt/FitsIOServer/smakefile
===================================================================
--- /trunk/SophyaExt/FitsIOServer/smakefile	(revision 3062)
+++ /trunk/SophyaExt/FitsIOServer/smakefile	(revision 3063)
@@ -4,14 +4,13 @@
  
 clean:
-	 rm -f $(SOPHYAOBJP)datacirclefits.o $(SOPHYAOBJP)fabtcolread.o $(SOPHYAOBJP)fabtwriter.o $(SOPHYAOBJP)fboloread.o $(SOPHYAOBJP)fbtntintf.o $(SOPHYAOBJP)fiosinit.o $(SOPHYAOBJP)fitsautoreader.o $(SOPHYAOBJP)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshistos.o $(SOPHYAOBJP)fitsinoutfile.o $(SOPHYAOBJP)fitslocalmap.o $(SOPHYAOBJP)fitsmanager.o $(SOPHYAOBJP)fitsntuple.o $(SOPHYAOBJP)fitsspherehealpix.o $(SOPHYAOBJP)fitsspherethetaphi.o $(SOPHYAOBJP)fitstarray.o $(SOPHYAOBJP)fitsxntuple.o $(SOPHYAOBJP)swfitsdtable.o
+	 rm -f $(SOPHYAOBJP)datacirclefits.o $(SOPHYAOBJP)fabtcolread.o $(SOPHYAOBJP)fabtwriter.o $(SOPHYAOBJP)fboloread.o $(SOPHYAOBJP)fbtntintf.o $(SOPHYAOBJP)fiosinit.o $(SOPHYAOBJP)fitsautoreader.o $(SOPHYAOBJP)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshistos.o $(SOPHYAOBJP)fitsinoutfile.o $(SOPHYAOBJP)fitslocalmap.o $(SOPHYAOBJP)fitsmanager.o $(SOPHYAOBJP)fitsntuple.o $(SOPHYAOBJP)fitsspherehealpix.o $(SOPHYAOBJP)fitsspherethetaphi.o $(SOPHYAOBJP)fitstarray.o $(SOPHYAOBJP)fitsxntuple.o $(SOPHYAOBJP)swfitsdtable.o
 	rm -f $(SOPHYALIBP)libFitsIOServer.a
  
-$(SOPHYALIBP)libFitsIOServer.a : $(SOPHYAOBJP)datacirclefits.o $(SOPHYAOBJP)fabtcolread.o $(SOPHYAOBJP)fabtwriter.o $(SOPHYAOBJP)fboloread.o $(SOPHYAOBJP)fbtntintf.o $(SOPHYAOBJP)fiosinit.o $(SOPHYAOBJP)fitsautoreader.o $(SOPHYAOBJP)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshistos.o $(SOPHYAOBJP)fitsinoutfile.o $(SOPHYAOBJP)fitslocalmap.o $(SOPHYAOBJP)fitsmanager.o $(SOPHYAOBJP)fitsntuple.o $(SOPHYAOBJP)fitsspherehealpix.o $(SOPHYAOBJP)fitsspherethetaphi.o $(SOPHYAOBJP)fitstarray.o $(SOPHYAOBJP)fitsxntuple.o $(SOPHYAOBJP)swfitsdtable.o
+$(SOPHYALIBP)libFitsIOServer.a : $(SOPHYAOBJP)datacirclefits.o $(SOPHYAOBJP)fabtcolread.o $(SOPHYAOBJP)fabtwriter.o $(SOPHYAOBJP)fboloread.o $(SOPHYAOBJP)fbtntintf.o $(SOPHYAOBJP)fiosinit.o $(SOPHYAOBJP)fitsautoreader.o $(SOPHYAOBJP)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshistos.o $(SOPHYAOBJP)fitsinoutfile.o $(SOPHYAOBJP)fitslocalmap.o $(SOPHYAOBJP)fitsmanager.o $(SOPHYAOBJP)fitsntuple.o $(SOPHYAOBJP)fitsspherehealpix.o $(SOPHYAOBJP)fitsspherethetaphi.o $(SOPHYAOBJP)fitstarray.o $(SOPHYAOBJP)fitsxntuple.o $(SOPHYAOBJP)swfitsdtable.o
 	$(AR) $(ARFLAGS) $@ $? 
 	touch $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
  
 $(SOPHYAOBJP)datacirclefits.o: datacirclefits.cc \
-  $(SOPHYAINCP)sopnamsp.h \
-  datacirclefits.h \
+  $(SOPHYAINCP)sopnamsp.h datacirclefits.h \
   $(SOPHYAINCP)datacirclebase.h \
   $(SOPHYAINCP)circle.h \
@@ -30,6 +29,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fabtcolread.h \
+  $(SOPHYAINCP)machdefs.h fabtcolread.h \
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)tvector.h \
@@ -60,6 +58,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fabtwriter.h \
+  $(SOPHYAINCP)machdefs.h fabtwriter.h \
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)tvector.h \
@@ -90,27 +87,25 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fboloread.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  fabtcolread.h \
+  $(SOPHYAINCP)machdefs.h fboloread.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h fabtcolread.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h
@@ -121,6 +116,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fbtntintf.h \
+  $(SOPHYAINCP)machdefs.h fbtntintf.h \
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)ntupintf.h \
@@ -131,25 +125,22 @@
 $(SOPHYAOBJP)fiosinit.o: fiosinit.cc \
   $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  fiosinit.h \
+  $(SOPHYAINCP)machdefs.h fiosinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsmanager.h fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshdtable.h \
-  $(SOPHYAINCP)datatable.h \
+  $(SOPHYAINCP)machdefs.h fitsmanager.h \
+  fitsinoutfile.h $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshdtable.h $(SOPHYAINCP)datatable.h \
   $(SOPHYAINCP)basedtable.h \
   $(SOPHYAINCP)ntupintf.h \
@@ -163,13 +154,10 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  fitshandler.h fitsarrhand.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)tvector.h \
-  fitsblkrw.h fitsntuple.h \
-  $(SOPHYAINCP)ntuple.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  fitsfile.h \
+  $(SOPHYAINCP)tvector_tsnl.h fitshandler.h \
+  fitsarrhand.h $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)tvector.h fitsblkrw.h \
+  fitsntuple.h $(SOPHYAINCP)ntuple.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h fitsfile.h \
   $(SOPHYAINCP)ndatablock.h \
   fitsspherehealpix.h \
@@ -187,8 +175,6 @@
   fitsspherethetaphi.h \
   $(SOPHYAINCP)spherethetaphi.h \
-  fitslocalmap.h \
-  $(SOPHYAINCP)localmap.h \
-  fitshistos.h \
-  $(SOPHYAINCP)histos.h \
+  fitslocalmap.h $(SOPHYAINCP)localmap.h \
+  fitshistos.h $(SOPHYAINCP)histos.h \
   $(SOPHYAINCP)peida.h \
   $(SOPHYAINCP)utils.h \
@@ -196,5 +182,7 @@
   $(SOPHYAINCP)fmath.h \
   $(SOPHYAINCP)histos2.h \
-  $(SOPHYAINCP)histos.h
+  $(SOPHYAINCP)histos.h fitsgenedata.h \
+  $(SOPHYAINCP)generaldata.h \
+  $(SOPHYAINCP)poly.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiosinit.cc
  
@@ -202,22 +190,19 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsautoreader.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)anydataobj.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)machdefs.h fitsautoreader.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h fitsinoutfile.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h \
@@ -227,6 +212,5 @@
   $(SOPHYAINCP)dvlist.h \
   $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  fitsspherehealpix.h \
+  $(SOPHYAINCP)utilarr.h fitsspherehealpix.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)sphericalmap.h \
@@ -244,14 +228,10 @@
   $(SOPHYAINCP)tmatrix_tsnl.h \
   $(SOPHYAINCP)tvector_tsnl.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  fitsntuple.h \
+  $(SOPHYAINCP)HEALPixUtils.h fitsntuple.h \
   $(SOPHYAINCP)ntuple.h \
   $(SOPHYAINCP)ntupintf.h \
-  $(SOPHYAINCP)ppersist.h \
-  fitsxntuple.h \
-  $(SOPHYAINCP)xntuple.h \
-  fitslocalmap.h \
-  $(SOPHYAINCP)localmap.h \
-  fbtntintf.h \
+  $(SOPHYAINCP)ppersist.h fitsxntuple.h \
+  $(SOPHYAINCP)xntuple.h fitslocalmap.h \
+  $(SOPHYAINCP)localmap.h fbtntintf.h \
   $(SOPHYAINCP)ntupintf.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsautoreader.cc
@@ -260,104 +240,61 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsbntbllineRW.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  fitsinoutfile.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshandler.h \
-  $(SOPHYAINCP)utils.h
+  $(SOPHYAINCP)machdefs.h fitsbntbllineRW.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h fitsinoutfile.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h $(SOPHYAINCP)utils.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsbntbllineRW.cc
  
 $(SOPHYAOBJP)fitsfile.o: fitsfile.cc \
   $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshandler.h \
-  $(SOPHYAINCP)strutil.h \
+  $(SOPHYAINCP)machdefs.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h fitsinoutfile.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h $(SOPHYAINCP)strutil.h \
   $(SOPHYAINCP)anydataobj.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsfile.cc
  
-$(SOPHYAOBJP)fitshdtable.o: fitshdtable.cc \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)datatable.h \
-  $(SOPHYAINCP)basedtable.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)ntupintf.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)segdatablock.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  fitsblkrw.h fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshandler.h swfitsdtable.h \
-  $(SOPHYAINCP)basedtable.h \
-  $(SOPHYAINCP)swsegdb.h \
-  fitsswapper.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitshdtable.cc
- 
-$(SOPHYAOBJP)fitshistos.o: fitshistos.cc \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)histos.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
+$(SOPHYAOBJP)fitsgenedata.o: fitsgenedata.cc \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)generaldata.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ntupintf.h \
+  $(SOPHYAINCP)poly.h \
   $(SOPHYAINCP)peida.h \
   $(SOPHYAINCP)utils.h \
@@ -374,11 +311,81 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h fitsblkrw.h \
+  fitsinoutfile.h $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsgenedata.cc
+ 
+$(SOPHYAOBJP)fitshdtable.o: fitshdtable.cc \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)datatable.h \
+  $(SOPHYAINCP)basedtable.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)ntupintf.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)segdatablock.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h fitsblkrw.h \
+  fitsinoutfile.h $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h swfitsdtable.h \
+  $(SOPHYAINCP)basedtable.h \
+  $(SOPHYAINCP)swsegdb.h fitsswapper.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitshdtable.cc
+ 
+$(SOPHYAOBJP)fitshistos.o: fitshistos.cc \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)histos.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)peida.h \
+  $(SOPHYAINCP)utils.h \
+  $(SOPHYAINCP)perrors.h \
+  $(SOPHYAINCP)fmath.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
   $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)hisprof.h \
   $(SOPHYAINCP)histos.h \
   $(SOPHYAINCP)histerr.h \
-  $(SOPHYAINCP)histos2.h \
-  fitsblkrw.h fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)histos2.h fitsblkrw.h \
+  fitsinoutfile.h $(SOPHYAINCP)pexceptions.h \
   $(SOPHYAINCP)dvlist.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
@@ -392,6 +399,5 @@
   $(SOPHYAINCP)segdatablock.h \
   $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)anydataobj.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)anydataobj.h fitsinoutfile.h \
   $(SOPHYAINCP)pexceptions.h \
   $(SOPHYAINCP)dvlist.h \
@@ -412,6 +418,5 @@
 $(SOPHYAOBJP)fitslocalmap.o: fitslocalmap.cc \
   $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitslocalmap.h \
+  $(SOPHYAINCP)machdefs.h fitslocalmap.h \
   $(SOPHYAINCP)pexceptions.h \
   $(SOPHYAINCP)machdefs.h \
@@ -444,9 +449,7 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)tvector_tsnl.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h \
@@ -456,7 +459,6 @@
 $(SOPHYAOBJP)fitsmanager.o: fitsmanager.cc \
   $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)sopnamsp.h \
-  fitsmanager.h fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)sopnamsp.h fitsmanager.h \
+  fitsinoutfile.h $(SOPHYAINCP)pexceptions.h \
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)dvlist.h \
@@ -479,6 +481,5 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsntuple.h \
+  $(SOPHYAINCP)machdefs.h fitsntuple.h \
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)ntuple.h \
@@ -496,9 +497,7 @@
   $(SOPHYAINCP)timestamp.h \
   $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)ppersist.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h \
@@ -541,14 +540,11 @@
   $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)anydataobj.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshandler.h \
-  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)anydataobj.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h $(SOPHYAINCP)tarray.h \
   fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsspherehealpix.cc
@@ -588,14 +584,11 @@
   $(SOPHYAINCP)tmatrix_tsnl.h \
   $(SOPHYAINCP)tvector_tsnl.h \
-  $(SOPHYAINCP)anydataobj.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitshandler.h \
-  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)anydataobj.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  fitshandler.h $(SOPHYAINCP)tarray.h \
   fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsspherethetaphi.cc
@@ -605,25 +598,22 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitstarray.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)machdefs.h fitstarray.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h \
@@ -634,6 +624,5 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsxntuple.h \
+  $(SOPHYAINCP)machdefs.h fitsxntuple.h \
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)xntuple.h \
@@ -651,9 +640,7 @@
   $(SOPHYAINCP)timestamp.h \
   $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h \
-  fitsinoutfile.h \
+  $(SOPHYAINCP)ppersist.h fitsfile.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
   $(SOPHYAINCP)FitsIO/fitsio.h \
   $(SOPHYAINCP)FitsIO/longnam.h \
@@ -685,16 +672,12 @@
   $(SOPHYAINCP)tmatrix_tsnl.h \
   $(SOPHYAINCP)tvector_tsnl.h \
-  $(SOPHYAINCP)swsegdb.h \
-  fitsswapper.h \
-  $(SOPHYAINCP)machdefs.h \
-  fitsinoutfile.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
-  fitsblkrw.h fitshdtable.h \
-  $(SOPHYAINCP)datatable.h \
-  $(SOPHYAINCP)basedtable.h \
-  fitshandler.h \
+  $(SOPHYAINCP)swsegdb.h fitsswapper.h \
+  $(SOPHYAINCP)machdefs.h fitsinoutfile.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h fitsblkrw.h \
+  fitshdtable.h $(SOPHYAINCP)datatable.h \
+  $(SOPHYAINCP)basedtable.h fitshandler.h \
   $(SOPHYAINCP)sopnamsp.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  swfitsdtable.cc
