Index: trunk/SophyaExt/FitsIOServer/Makefile
===================================================================
--- trunk/SophyaExt/FitsIOServer/Makefile	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/Makefile	(revision 3572)
@@ -4,8 +4,8 @@
  
 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)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)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)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)swfitsdtable.o
 	$(AR) $(ARFLAGS) $@ $? 
 	touch $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
@@ -184,53 +184,4 @@
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiosinit.cc
  
-$(SOPHYAOBJP)fitsautoreader.o: fitsautoreader.cc \
-  $(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)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h fitshandler.h \
-  fitstarray.h $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h fitsspherehealpix.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.h \
-  $(SOPHYAINCP)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)datatype.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.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)ntupintf.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsautoreader.cc
- 
 $(SOPHYAOBJP)fitsbntbllineRW.o: fitsbntbllineRW.cc \
   $(SOPHYAINCP)sopnamsp.h \
@@ -633,30 +584,4 @@
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitstarray.cc
  
-$(SOPHYAOBJP)fitsxntuple.o: fitsxntuple.cc \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h fitsxntuple.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)xntuple.h \
-  $(SOPHYAINCP)ntupintf.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h fitshandler.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsxntuple.cc
- 
 $(SOPHYAOBJP)swfitsdtable.o: swfitsdtable.cc swfitsdtable.h \
   $(SOPHYAINCP)basedtable.h \
Index: trunk/SophyaExt/FitsIOServer/fabtcolread.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtcolread.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fabtcolread.cc	(revision 3572)
@@ -189,5 +189,5 @@
   \return value into double
 */
-double FitsOpenFile::ReadKey(fitsfile *fitsptr,char *keyname)
+double FitsOpenFile::ReadKey(fitsfile *fitsptr,const char *keyname)
 {
  if(keyname==NULL || fitsptr==NULL) return 0.;
@@ -204,5 +204,5 @@
   \return value into long
 */
-long FitsOpenFile::ReadKeyL(fitsfile *fitsptr,char *keyname)
+long FitsOpenFile::ReadKeyL(fitsfile *fitsptr,const char *keyname)
 {
  if(keyname==NULL || fitsptr==NULL) return 0;
@@ -219,5 +219,5 @@
   \return value into long long
 */
-LONGLONG FitsOpenFile::ReadKeyLL(fitsfile *fitsptr,char *keyname)
+LONGLONG FitsOpenFile::ReadKeyLL(fitsfile *fitsptr,const char *keyname)
 {
  if(keyname==NULL || fitsptr==NULL) return 0;
@@ -234,5 +234,5 @@
   \return value into string
 */
-string FitsOpenFile::ReadKeyS(fitsfile *fitsptr,char *keyname)
+string FitsOpenFile::ReadKeyS(fitsfile *fitsptr,const char *keyname)
 {
  if(keyname==NULL || fitsptr==NULL) return (string)"";
@@ -529,5 +529,5 @@
   \return value into double
 */
-double FitsABTColRd::ReadKey(char *keyname)
+double FitsABTColRd::ReadKey(const char *keyname)
 {
  return FitsOpenFile::ReadKey(GetFitsPtr(),keyname);
@@ -539,5 +539,5 @@
   \return value into long
 */
-long FitsABTColRd::ReadKeyL(char *keyname)
+long FitsABTColRd::ReadKeyL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyL(GetFitsPtr(),keyname);
@@ -549,5 +549,5 @@
   \return value into long long
 */
-LONGLONG FitsABTColRd::ReadKeyLL(char *keyname)
+LONGLONG FitsABTColRd::ReadKeyLL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyLL(GetFitsPtr(),keyname);
@@ -559,5 +559,5 @@
   \return value into string
 */
-string FitsABTColRd::ReadKeyS(char *keyname)
+string FitsABTColRd::ReadKeyS(const char *keyname)
 {
  return FitsOpenFile::ReadKeyS(GetFitsPtr(),keyname);
@@ -1080,5 +1080,5 @@
   \return value into double
 */
-double FitsImg2DRd::ReadKey(char *keyname)
+double FitsImg2DRd::ReadKey(const char *keyname)
 {
  return FitsOpenFile::ReadKey(GetFitsPtr(),keyname);
@@ -1090,5 +1090,5 @@
   \return value into long
 */
-long FitsImg2DRd::ReadKeyL(char *keyname)
+long FitsImg2DRd::ReadKeyL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyL(GetFitsPtr(),keyname);
@@ -1100,5 +1100,5 @@
   \return value into long long
 */
-LONGLONG FitsImg2DRd::ReadKeyLL(char *keyname)
+LONGLONG FitsImg2DRd::ReadKeyLL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyLL(GetFitsPtr(),keyname);
@@ -1110,5 +1110,5 @@
   \return value into string
 */
-string FitsImg2DRd::ReadKeyS(char *keyname)
+string FitsImg2DRd::ReadKeyS(const char *keyname)
 {
  return FitsOpenFile::ReadKeyS(GetFitsPtr(),keyname);
@@ -1428,5 +1428,5 @@
   \return value into double
 */
-double FitsImg3DRd::ReadKey(char *keyname)
+double FitsImg3DRd::ReadKey(const char *keyname)
 {
  return FitsOpenFile::ReadKey(GetFitsPtr(),keyname);
@@ -1438,5 +1438,5 @@
   \return value into long
 */
-long FitsImg3DRd::ReadKeyL(char *keyname)
+long FitsImg3DRd::ReadKeyL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyL(GetFitsPtr(),keyname);
@@ -1448,5 +1448,5 @@
   \return value into long long
 */
-LONGLONG FitsImg3DRd::ReadKeyLL(char *keyname)
+LONGLONG FitsImg3DRd::ReadKeyLL(const char *keyname)
 {
  return FitsOpenFile::ReadKeyLL(GetFitsPtr(),keyname);
@@ -1458,5 +1458,5 @@
   \return value into string
 */
-string FitsImg3DRd::ReadKeyS(char *keyname)
+string FitsImg3DRd::ReadKeyS(const char *keyname)
 {
  return FitsOpenFile::ReadKeyS(GetFitsPtr(),keyname);
Index: trunk/SophyaExt/FitsIOServer/fabtcolread.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtcolread.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fabtcolread.h	(revision 3572)
@@ -48,8 +48,8 @@
   void Print(void);
 
-  static double   ReadKey(fitsfile *fitsptr,char *keyname);
-  static long     ReadKeyL(fitsfile *fitsptr,char *keyname);
-  static LONGLONG ReadKeyLL(fitsfile *fitsptr,char *keyname);
-  static string   ReadKeyS(fitsfile *fitsptr,char *keyname);
+  static double   ReadKey(fitsfile *fitsptr,const char *keyname);
+  static long     ReadKeyL(fitsfile *fitsptr,const char *keyname);
+  static LONGLONG ReadKeyLL(fitsfile *fitsptr,const char *keyname);
+  static string   ReadKeyS(fitsfile *fitsptr,const char *keyname);
   static void   printerror(int sta);
 
@@ -78,8 +78,8 @@
   void ChangeBuffer(long blen=100,long bsens=1);
 
-  double    ReadKey(char *keyname);
-  long      ReadKeyL(char *keyname);
-  LONGLONG  ReadKeyLL(char *keyname);
-  string    ReadKeyS(char *keyname);
+  double    ReadKey(const char *keyname);
+  long      ReadKeyL(const char *keyname);
+  LONGLONG  ReadKeyLL(const char *keyname);
+  string    ReadKeyS(const char *keyname);
 
   double Read(LONGLONG n,bool usebuffer=true);
@@ -195,8 +195,8 @@
   virtual ~FitsImg2DRd();
 
-  double   ReadKey(char *keyname);
-  long     ReadKeyL(char *keyname);
-  LONGLONG ReadKeyLL(char *keyname);
-  string   ReadKeyS(char *keyname);
+  double   ReadKey(const char *keyname);
+  long     ReadKeyL(const char *keyname);
+  LONGLONG ReadKeyLL(const char *keyname);
+  string   ReadKeyS(const char *keyname);
 
   LONGLONG Read(TMatrix<uint_2>& data);
@@ -260,8 +260,8 @@
   virtual ~FitsImg3DRd();
 
-  double   ReadKey(char *keyname);
-  long     ReadKeyL(char *keyname);
-  LONGLONG ReadKeyLL(char *keyname);
-  string   ReadKeyS(char *keyname);
+  double   ReadKey(const char *keyname);
+  long     ReadKeyL(const char *keyname);
+  LONGLONG ReadKeyLL(const char *keyname);
+  string   ReadKeyS(const char *keyname);
 
   LONGLONG Read(TArray<uint_2>& data);
Index: trunk/SophyaExt/FitsIOServer/fabtwriter.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtwriter.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fabtwriter.cc	(revision 3572)
@@ -105,5 +105,5 @@
 
 /*! Write a double value into Fits Header */
-void FitsWriter::WriteKey(const char *keyname,double val,char* comment)
+void FitsWriter::WriteKey(const char *keyname,double val,const char* comment)
 {
  if(keyname==NULL || strlen(keyname)<=0) return;
@@ -116,5 +116,5 @@
 
 /*! Write a long value into Fits Header */
-void FitsWriter::WriteKey(const char *keyname,long val,char* comment)
+void FitsWriter::WriteKey(const char *keyname,long val,const char* comment)
 {
  if(keyname==NULL || strlen(keyname)<=0) return;
@@ -127,5 +127,5 @@
 
 /*! Write a long long value into Fits Header */
-void FitsWriter::WriteKey(const char *keyname,LONGLONG val,char* comment)
+void FitsWriter::WriteKey(const char *keyname,LONGLONG val,const char* comment)
 {
  if(keyname==NULL || strlen(keyname)<=0) return;
@@ -138,5 +138,5 @@
 
 /*! Write a string value into Fits Header */
-void FitsWriter::WriteKey(const char *keyname,string val,char* comment)
+void FitsWriter::WriteKey(const char *keyname,string val,const char* comment)
 {
  if(keyname==NULL || strlen(keyname)<=0) return;
Index: trunk/SophyaExt/FitsIOServer/fabtwriter.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtwriter.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fabtwriter.h	(revision 3572)
@@ -36,13 +36,13 @@
 
   //! Write a double value in Fits header.
-  void WriteKey(const char *keyname,double val,char* comment=NULL);
+  void WriteKey(const char *keyname,double val,const char* comment=NULL);
   //! Write a long value in Fits header.
-  void WriteKey(const char *keyname,long val,char* comment=NULL);
+  void WriteKey(const char *keyname,long val,const char* comment=NULL);
   //! Write a long long value in Fits header.
-  void WriteKey(const char *keyname,LONGLONG val,char* comment=NULL);
+  void WriteKey(const char *keyname,LONGLONG val,const char* comment=NULL);
   //! Write a string value in Fits header.
-  void WriteKey(const char *keyname,string val,char* comment=NULL);
+  void WriteKey(const char *keyname,string val,const char* comment=NULL);
   //! Write a character string value in Fits header.
-  inline void WriteKey(const char *keyname,char* val,char* comment=NULL)
+  inline void WriteKey(const char *keyname,const char* val,const char* comment=NULL)
                       {string dum=val; WriteKey(keyname,dum,comment);}
   //! Set debug level
@@ -93,5 +93,5 @@
   inline void SetExtName(string extname=string("")) {ExtName = extname;}
   //! Set the FITS table extension name
-  inline void SetExtName(char* extname="") {ExtName = extname;}
+  inline void SetExtName(const char* extname="") {ExtName = extname;}
 
   //! Add a new column to the FITS table and return its number (see addcol).
Index: trunk/SophyaExt/FitsIOServer/fitsautoreader.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsautoreader.cc	(revision 3493)
+++ 	(revision )
@@ -1,269 +1,0 @@
-#include "sopnamsp.h"
-#include "pexceptions.h"
-#include "fitsautoreader.h"
-#include "dvlist.h"
-
-///////////////////////////////////////////////////////////////////////
-// ---- gestion de persistance I/O format fits--
-// objets
-////////////////////////////////////////////////////////////////////
-
-/*!
-  \class SOPHYA::FITS_AutoReader
-  \ingroup FitsIOServer
-  FITS reader with automatic mapping on SOPHYA objects.
-*/
-
-FITS_AutoReader::FITS_AutoReader() {InitNull();};
-FITS_AutoReader::FITS_AutoReader(const char inputfile[])
-{
-  InitNull();
-  inFits_  = new FitsInFile (inputfile);
-  filename_ = string(inputfile);
-}
-FITS_AutoReader::FITS_AutoReader(string const & inputfile)
-{
-  InitNull();
-  inFits_  = new FitsInFile (inputfile);
-  filename_ = inputfile;
-}
-FITS_AutoReader::~FITS_AutoReader()
-{
-  if (inFits_ != NULL) delete inFits_;
-  if (dobj_ != NULL) delete dobj_;
-}
-
-int FITS_AutoReader::NbBlocks()
-{
-  return inFits_->NbBlocks();
-}
-
- // parametre toutCharger : uniquement pour les BINTABLE et s'il ne
- // s'agit pas explicitement d'un objet SOPHYA, on charge toute la 
- // table en memoire sous forme d'un xntuple si toutCharger= true.
- // et si le nombre d'entrees est superieur a 1000.
- // sinon (c-a-d : il ne s'agit pas d'un objet connu de SOPHYA
- //                c'est une BINTABLE avec plus de 1000 entrees
- //                totuCharger = false)
- // on ouvre une FitsBTNtuIntf (lecture ulterieure, bufferisee, des valeurs)
-AnyDataObj* FITS_AutoReader::ReadObject(int hdunum, bool toutCharger) const
-{
-  if (hdunum<=0) 
-    {
-      throw PException(" FITS_AutoReader::ReadObject : hdu number must be positive");
-    }
-  inFits_->ReadHeader(hdunum);
-  if (inFits_->IsFitsEOF()) return NULL;
-  if (inFits_->IsFitsERROR())
-    {
-      throw IOExc("FITS_AutoReader::ReadObject: FITSIO error in reading");
-    }
-  DVList dvl=inFits_->DVListFromFits();
-  string nameObj = dvl.GetS("CONTENT");
-  //    cout << " SOPHYA object identified as: " << dvl.GetS("CONTENT") << endl;
-  if (nameObj == string("TArray") )
-    {
-      return newTArray();
-    }
-  else if  (nameObj == string("SphereHEALPix") )
-    {
-      return newSphereHEALPix();
-    }
-  else if  (nameObj == string("LocalMap") )
-    {
-      return newLocalMap();
-    }
-  else if  (nameObj == string("NTuple") )
-    {
-      return newNTuple();
-    }
-  else if  (nameObj == string("XNTuple") )
-    {
-      return newXNTuple();
-    }
-  // on n'a trouve aucun nom d'objet connu de SOPHYA, on fait une 
-  // recherche qualitative.
-  //
-  // si c'est une image fits, on cree un TArray
-  else if (inFits_->IsFitsImage())
-    {
-      return newTArray();
-    }
-  // si c'est une bintable on cherche le mot cle ORDERING pour identifier 
-  // une spherehealpix
-  else if (inFits_->IsFitsTable())
-    {
-      if (dvl.GetS("ORDERING") != string("")) return newSphereHEALPix();
-      // sinon on cherche ntuple ou xntuple
-      else
-	{
-	  int index=0;
-          int k;
-	  for (k=0; k < inFits_->NbColsFromFits(); k++) 
-	    {
-	      if (inFits_->ColTypeFromFits(k) != FitsFile::FitsDataType_float)
-		{
-		index = 1;
-		break;
-	      }
-	  }
-	if (index == 0)  return newNTuple();
-	else 
-	  {
-	    if (!toutCharger ) 
-	      {
-		int maxEntries=0;
-                int k;
-		for ( k=0; k < inFits_->NbColsFromFits(); k++) 
-		  {
-		    if (inFits_->NentriesFromFits(k) > maxEntries ) maxEntries =  inFits_->NentriesFromFits(k); 
-		  }
-		if ( maxEntries > 1000) return newFitsBTNtuIntf(hdunum);
-		else return newXNTuple();
-	      }
-	    else  return newXNTuple();
-
-	  }
-      }
-    }
-  else
-    {
-      cout << " WARNING ( FITS_AutoReader::ReadObject) : object not recognized as a  SOPHYA object" << endl;
-      return new DVList(dvl);
-    }
-  
-}
-
-AnyDataObj*  FITS_AutoReader::newTArray() const
-{
-      FitsFile::FitsDataType dtype = inFits_->ImageType();
-      switch (dtype)
-	{
-	case FitsFile::FitsDataType_double :
-	  {
-	    TArray<r_8>* matptr = new TArray<r_8>;
-	    FITS_TArray<r_8> fta(matptr);
-	    fta.Read(*inFits_, inFits_->currentHeaderIndex());
-	    return matptr;
-	  }
-	case FitsFile::FitsDataType_float :
-	  {
-	    TArray<r_4>* matptr = new TArray<r_4>;
-	    FITS_TArray<r_4> fta(matptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return matptr;
-	  }
-	case  FitsFile::FitsDataType_int :
-	  {
-	    TArray<int_4>* matptr = new TArray<int_4>;
-	    FITS_TArray<int_4> fta(matptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return matptr;
-	  }
-	default :
-	  cout << "type = " << (int) dtype << endl;
-	  throw IOExc("FITS_AutoReader::ReadObject : unsupported data type for TArray");
-	}
-}
-
-AnyDataObj*  FITS_AutoReader::newSphereHEALPix() const
-{
-      FitsFile::FitsDataType dtype;
-      if (inFits_->IsFitsTable()) dtype = inFits_->ColTypeFromFits(0);
-      else
-	{
-	  cout << " WARNING : Sperehealpix not binary table : unusual " << endl;
-	  dtype = inFits_->ImageType();
-	}
-      switch (dtype)
-	{
-	case FitsFile::FitsDataType_double :
-	  {
-	    SphereHEALPix<r_8>* sphptr = new SphereHEALPix<r_8>;
-	    FITS_SphereHEALPix<r_8> fta(sphptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return sphptr;
-	  }
-	case FitsFile::FitsDataType_float :
-	  {
-	    SphereHEALPix<r_4>* sphptr = new SphereHEALPix<r_4>;
-	    FITS_SphereHEALPix<r_4> fta(sphptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return sphptr;
-	  }
-        //cmv: Bon c'est quand meme sympa de pouvoir re-lire ce
-	// qu'on a ecrit !! Je fais cette modif mais a priori
-	// ce n'est que du sparadra car ca devrait planter
-	// sur certaines machines (int!=long).
-	case  FitsFile::FitsDataType_int :
-	case  FitsFile::FitsDataType_long :
-	  {
-	    SphereHEALPix<int_4>* sphptr = new SphereHEALPix<int_4>;
-	    FITS_SphereHEALPix<int_4> fta(sphptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return sphptr;
-	  }
-	default :
-	  cout << "type = " << (int) dtype << endl;
-	  throw IOExc("FITS_AutoReader::ReadObject : unsupported data type for SphereHEALpix");
-	}
-}
-
-AnyDataObj*  FITS_AutoReader::newLocalMap() const
-{
-      FitsFile::FitsDataType dtype;
-      if (inFits_->IsFitsTable()) dtype = inFits_->ColTypeFromFits(0);
-      else
-	{
-	  cout << " WARNING : Localmap not binary table : unusual " << endl;
-	  dtype = inFits_->ImageType();
-	}
-      switch (dtype)
-	{
-	case FitsFile::FitsDataType_double :
-	  {
-	    LocalMap<r_8>* locmptr = new LocalMap<r_8>;
-	    FITS_LocalMap<r_8> fta(locmptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return locmptr;
-	  }
-	case FitsFile::FitsDataType_float :
-	  {
-	    LocalMap<r_4>* locmptr = new LocalMap<r_4>;
-	    FITS_LocalMap<r_4> fta(locmptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return locmptr;
-	  }
-	case  FitsFile::FitsDataType_int :
-	  {
-	    LocalMap<int_4>* locmptr = new LocalMap<int_4>;
-	    FITS_LocalMap<int_4> fta(locmptr);
-	    fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-	    return locmptr;
-	  }
-	default :
-	  cout << "type = " << (int) dtype << endl;
-	  throw IOExc("FITS_AutoReader::ReadObject : unsupported data type for LocalMap");
-	}
-}
-NTuple* FITS_AutoReader::newNTuple() const
-{
-      NTuple* ntptr = new NTuple;
-      FITS_NTuple fta(ntptr);
-      fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-      return ntptr;
-}
-XNTuple* FITS_AutoReader::newXNTuple() const
-{
-      XNTuple* xntptr = new XNTuple;
-      FITS_XNTuple fta(xntptr);
-      fta.Read(*inFits_,  inFits_->currentHeaderIndex());
-      return xntptr;
-}
-
-FitsBTNtuIntf* FITS_AutoReader::newFitsBTNtuIntf(int hdunum) const
-{
-      FitsBTNtuIntf* btnptr = new FitsBTNtuIntf(filename_,hdunum);
-      return btnptr;
-}
-
Index: trunk/SophyaExt/FitsIOServer/fitsautoreader.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsautoreader.h	(revision 3493)
+++ 	(revision )
@@ -1,69 +1,0 @@
-#ifndef FITSAUTOREADER_SEEN
-#define FITSAUTOREADER_SEEN
-
-
-// Guy Le Meur 11/2000
-
-#include "machdefs.h"
-#include "anydataobj.h"
-#include "fitsfile.h"
-#include "fitstarray.h"
-#include "fitsspherehealpix.h"
-#include "fitsntuple.h"
-#include "fitsxntuple.h"
-#include "fitslocalmap.h"
-#include "fbtntintf.h"
-
-namespace SOPHYA {
-///////////////////////////////////////////////////////////////////////
-// ------------- Classe pour la gestion de persistance I/O format fits--
-// des objets
-//////////////////////////////////////////////////////////////////////
-
-
-class FITS_AutoReader 
-{
-public:
-
-FITS_AutoReader();
-FITS_AutoReader(const char inputfile[]);
-FITS_AutoReader(string const & inputfile);
-virtual ~FITS_AutoReader();
- int NbBlocks();
-
- // parametre toutCharger : uniquement pour les BINTABLE et s'il ne
- // s'agit pas explicitement d'un objet SOPHYA, on charge toute la 
- // table en memoire sous forme d'un xntuple si toutCharger= true.
- // et si le nombre d'entrees est superieur a 1000.
- // sinon (c-a-d : il ne s'agit pas d'un objet connu de SOPHYA
- //                c'est une BINTABLE avec plus de 1000 entrees
- //                totuCharger = false)
- // on ouvre une FitsBTNtuIntf (lecture ulterieure, bufferisee, des valeurs)
-AnyDataObj* ReadObject(int hdunum, bool toutCharger = false) const;
-
-
-private :
-
-AnyDataObj* newTArray() const;
-AnyDataObj* newSphereHEALPix() const;
-AnyDataObj* newLocalMap() const;
-NTuple* newNTuple() const;
-XNTuple* newXNTuple() const;
- FitsBTNtuIntf* newFitsBTNtuIntf(int hdunum) const;
-inline void InitNull()
-   {
-     inFits_ = NULL;
-     dobj_ = NULL;
-     ownobj_ = false;
-   }
-
-
- string filename_;
-FitsInFile* inFits_;
-AnyDataObj* dobj_;
-bool ownobj_;
-
-};
-} // Fin du namespace
-
-#endif
Index: trunk/SophyaExt/FitsIOServer/fitsblkrw.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsblkrw.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsblkrw.h	(revision 3572)
@@ -159,5 +159,5 @@
       string msg = "FitsBlockRW<std::string>::WriteColumnData() Error: " ;
       msg += buff;
-      sprintf(buff," kk=%ld",kk);  msg += buff;
+      sprintf(buff," kk=%ld",(long)kk);  msg += buff;
       throw FitsIOException(msg);
     }
@@ -187,5 +187,5 @@
       string msg = "FitsBlockRW<std::string>::ReadColumnData() Error: " ;
       msg += buff;
-      sprintf(buff," kk=%ld",kk);  msg += buff;
+      sprintf(buff," kk=%ld",(long)kk);  msg += buff;
       throw FitsIOException(msg);
     }
Index: trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.cc	(revision 3572)
@@ -64,5 +64,5 @@
       else if (ss == FitsFile::FitsDataType_char) SfitsCol.push_back(k);
       else {
-	cout << " FITS_XNTuple: colonne fits " << k << " type= " << (int) ss << endl;
+	cout << "FITS_BntblLineReader: colonne fits " << k << " type= " << (int) ss << endl;
 	throw  IOExc("type de champ inconnu");
       }
@@ -113,9 +113,9 @@
 
 
-FITS_BntblLineWriter::FITS_BntblLineWriter(char inputfile[],int dc, int fc,int ic, int lc, int bc, int cc,  vector<string> names,DVList* ptr_dvl,  FitsFile::WriteMode wrm)
+FITS_BntblLineWriter::FITS_BntblLineWriter(const char inputfile[],int dc, int fc,int ic, int lc, int bc, int cc,  vector<string> names,DVList* ptr_dvl,  FitsFile::WriteMode wrm)
 {
   int k;
   int nbcols = dc+fc+ic+cc+lc+bc;
-  if (nbcols !=  names.size())
+  if (nbcols !=  (int)names.size())
     {
       cout << " WARNING: BnTblLineWriter:: length of vector of column names not equal to total number of columns" << endl;
Index: trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsbntbllineRW.h	(revision 3572)
@@ -6,5 +6,4 @@
 #include "dvlist.h"
 #include "fitsfile.h"
-//#include "xntuple.h"
 
 namespace SOPHYA {
@@ -66,5 +65,5 @@
 
 public:
- FITS_BntblLineWriter(char inputfile[],int dc, int fc, int ic, int lc, int bc,int cc, vector<string> names, DVList* dvl=NULL, FitsFile::WriteMode wrm = FitsFile::clear);
+ FITS_BntblLineWriter(const char inputfile[],int dc, int fc, int ic, int lc, int bc,int cc, vector<string> names, DVList* dvl=NULL, FitsFile::WriteMode wrm = FitsFile::clear);
 ~FITS_BntblLineWriter();
  void WriteNextLine( BnTblLine& WorkLine);
Index: trunk/SophyaExt/FitsIOServer/fitsfile.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsfile.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsfile.cc	(revision 3572)
@@ -228,5 +228,5 @@
 */
 
-/*! \fn void  SOPHYA::FitsIOHandler::Read(char flnm[],int hdunum)
+/*! \fn void  SOPHYA::FitsIOHandler::Read(const char flnm[],int hdunum)
 
 this method is called from inherited objects : 
@@ -238,5 +238,5 @@
 calls the method 'ReadFromFits' from the inherited  object
 */ 
-void   FitsIOHandler::Read(char flnm[],int hdunum)
+void   FitsIOHandler::Read(const char flnm[],int hdunum)
 {
   FitsInFile ifts(flnm);
@@ -274,5 +274,5 @@
 
 */ 
-void FitsIOHandler::Write(char flnm[]) 
+void FitsIOHandler::Write(const char flnm[]) 
 
 {
@@ -327,5 +327,5 @@
 }
 
-void FitsFile::printerror(int& status, char* texte) 
+void FitsFile::printerror(int& status, const char* texte) 
   //*****************************************************/
   //* Print out cfitsio error messages and exit program */
@@ -338,5 +338,5 @@
   throw IOExc("FitsFile:: error FITSIO status");
 }
-void FitsFile::printerrorAndContinue(int& status, char* texte) 
+void FitsFile::printerrorAndContinue(int& status, const char* texte) 
   //*****************************************************/
   //* Print out cfitsio error messages and exit program */
@@ -1534,5 +1534,5 @@
   char dtype;
   char card[FLEN_CARD];  
-  char *comkey = "COMMENT";
+  const char *comkey = "COMMENT";
   char comment[FLEN_COMMENT];
 
@@ -2198,5 +2198,5 @@
       char comment[FLEN_COMMENT];
       char strval[FLEN_VALUE]= "";
-      char *comkey = "COMMENT";
+      const char *comkey = "COMMENT";
       //      fits_read_keyword(fptr_, keyname, strval, NULL, &status);
       //  if (status != 0 || strncmp(keyname,comkey,LEN_KEYWORD-1) == 0 ) 
@@ -2527,5 +2527,5 @@
       default :
 	{
-	  char *comkey = "COMMENT";
+	  const char *comkey = "COMMENT";
 	  if(strncmp(keyname,comkey,LEN_KEYWORD-1) == 0)
 	    {
Index: trunk/SophyaExt/FitsIOServer/fitsfile.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsfile.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsfile.h	(revision 3572)
@@ -64,6 +64,6 @@
 
    virtual ~FitsIOHandler() {}
-   void   Read(char flnm[],int hdunum= 0);
-   void   Write(char flnm[]) ;
+   void   Read(const char flnm[],int hdunum= 0);
+   void   Write(const char flnm[]) ;
 
    //Implementation par defaut de l'interface FitsHandlerInterface
@@ -181,6 +181,6 @@
 void         ResetStatus(int& status) ; 
 static  void printerror(int&) ;
-static  void printerror(int&,char* texte) ;
-static  void printerrorAndContinue(int& status, char* texte);
+static  void printerror(int&,const char* texte) ;
+static  void printerrorAndContinue(int& status,const char* texte);
 inline void  InitNull() 
   {
Index: trunk/SophyaExt/FitsIOServer/fitsinoutfile.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsinoutfile.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsinoutfile.cc	(revision 3572)
@@ -157,5 +157,5 @@
 }
 /* -- Fonction utilitaire pour verifier le code d'erreur fitsio -- */
-static inline bool FitsCheckStatus(int st, char * emsg = NULL) {
+static inline bool FitsCheckStatus(int st, const char * emsg = NULL) {
   if (st) {
     fits_report_error(stderr, st);
@@ -272,5 +272,5 @@
 int FitsInOutFile::CurrentHDU()  const
 {
-  int status = 0;
+  //unused: int status = 0;
   int curhdu = 0;
   fits_get_hdu_num(FitsPtr() , &curhdu);
@@ -496,9 +496,10 @@
   int colnum, typecode;
   LONGLONG repeat, colw;   // $CHECK$ LONGLONG ???
-  int ncols = 0;
+  //unused: int ncols = 0;
   char colname[128];  // longueur max d'un nom de colonne
 
   while (status != COL_NOT_FOUND) {
-    fits_get_colname(FitsPtr(), CASEINSEN, "*", colname, &colnum, &status);
+    char dum[2]  = {'*','\0'};
+    fits_get_colname(FitsPtr(), CASEINSEN, dum, colname, &colnum, &status);
     if (status == COL_NOT_FOUND)  break;
     if ( (status != COL_NOT_UNIQUE) && (status != 0) ) {
@@ -665,5 +666,5 @@
 
   CheckFitsPtr(FitsPtr()); 
-  int status = 0;
+  //unused: int status = 0;
   DVList::ValList::const_iterator it;
   for(it = dvl.Begin(); it != dvl.End(); it++)  
Index: trunk/SophyaExt/FitsIOServer/fitsioserver.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsioserver.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsioserver.h	(revision 3572)
@@ -19,5 +19,4 @@
 #include "fitsspherehealpix.h"
 #include "fitsntuple.h"
-// #include "fitsxntuple.h"
 #include "fitslocalmap.h"
 
Index: trunk/SophyaExt/FitsIOServer/fitsmanager.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsmanager.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsmanager.cc	(revision 3572)
@@ -80,5 +80,5 @@
   int hfg = 0;
   int bhfg = 0;
-  int clev = 0;
+  //unused: int clev = 0;
   int blev = 0;
   for(it = hlistp->begin(); it != hlistp->end(); it++) {
@@ -196,5 +196,5 @@
       LONGLONG naxes[5] = {0,0,0,0,0};
       int naxis=5;
-      int imgtyp = is.GetImageHDUInfo(naxis, naxes);
+      //unused: int imgtyp = is.GetImageHDUInfo(naxis, naxes);
       os << ">> IMAGE_HDU:  naxis= " << naxis << " : ";
       for(int i=0; i<naxis; i++) {
@@ -212,5 +212,5 @@
       else os << ">> ASCII_TBL :  NRows= " << is.GetNbRows();
       os << " x NCols= " << ncols << endl;
-      for(int kk=0; kk<colnames.size(); kk++) {
+      for(size_t kk=0; kk<colnames.size(); kk++) {
 	os << "Col[" << kk+1 << "]  Name= " << colnames[kk] 
 	     << " Type= " << FitsTypes::DataTypeToTypeString(coltypes[kk])
Index: trunk/SophyaExt/FitsIOServer/fitsntuple.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsntuple.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsntuple.h	(revision 3572)
@@ -53,5 +53,5 @@
 
 /*!
-fill the XNTuple only with lines from firstLine-th to (firstLine+numberOfLines-1)-th of the FITS-file inputfile.
+fill the NTuple only with lines from firstLine-th to (firstLine+numberOfLines-1)-th of the FITS-file inputfile.
 \param <firstLine>  first line  to be read (the first line of the file is numbered 0)
 \param <numberOfLines>  number of lines to be read
Index: trunk/SophyaExt/FitsIOServer/fitsspherehealpix.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsspherehealpix.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsspherehealpix.cc	(revision 3572)
@@ -27,5 +27,5 @@
   
 template <class T>
-FITS_SphereHEALPix<T>::FITS_SphereHEALPix(char inputfile[],int hdunum)
+FITS_SphereHEALPix<T>::FITS_SphereHEALPix(const char inputfile[],int hdunum)
 {
     dobj_= new SphereHEALPix<T>;
@@ -266,5 +266,5 @@
 
 template <class T>
-void FITS_SphereHEALPix<T>::Mollweide_picture_projection(char filename[])
+void FITS_SphereHEALPix<T>::Mollweide_picture_projection(const char filename[])
 {
   int ni = 300;
@@ -297,5 +297,5 @@
 }
 template <class T>
-void FITS_SphereHEALPix<T>::sinus_picture_projection(char filename[])
+void FITS_SphereHEALPix<T>::sinus_picture_projection(const char filename[])
 {
   int ni = 300;
Index: trunk/SophyaExt/FitsIOServer/fitsspherehealpix.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsspherehealpix.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsspherehealpix.h	(revision 3572)
@@ -24,5 +24,5 @@
 
 FITS_SphereHEALPix();
-FITS_SphereHEALPix(char inputfile[],int hdunum=0); 
+FITS_SphereHEALPix(const char inputfile[],int hdunum=0); 
 FITS_SphereHEALPix(const SphereHEALPix<T>& obj);
 FITS_SphereHEALPix(SphereHEALPix<T>* obj);
@@ -35,6 +35,6 @@
 virtual FitsHandlerInterface* Clone();
 
-void Mollweide_picture_projection(char flnm[]);
-void sinus_picture_projection(char flnm[]);
+void Mollweide_picture_projection(const char flnm[]);
+void sinus_picture_projection(const char flnm[]);
 //void ReWriteFromFitsToFits(FitsInFile& headerin, FitsOutFile& os); 
 
Index: trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.cc	(revision 3572)
@@ -26,5 +26,5 @@
 
 template <class T>
-FITS_SphereThetaPhi<T>::FITS_SphereThetaPhi(char inputfile[],int hdunum)
+FITS_SphereThetaPhi<T>::FITS_SphereThetaPhi(const char inputfile[],int hdunum)
 {
     dobj_= new SphereThetaPhi<T>;
@@ -255,5 +255,5 @@
 
 template <class T>
-void FITS_SphereThetaPhi<T>::Mollweide_picture_projection(char filename[])
+void FITS_SphereThetaPhi<T>::Mollweide_picture_projection(const char filename[])
 {
   int ni = 300;
@@ -286,5 +286,5 @@
 }
 template <class T>
-void FITS_SphereThetaPhi<T>::sinus_picture_projection(char filename[])
+void FITS_SphereThetaPhi<T>::sinus_picture_projection(const char filename[])
 {
   int ni = 300;
Index: trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitsspherethetaphi.h	(revision 3572)
@@ -22,5 +22,5 @@
 
 FITS_SphereThetaPhi();
-FITS_SphereThetaPhi(char inputfile[],int hdunum=0); 
+FITS_SphereThetaPhi(const char inputfile[],int hdunum=0); 
 FITS_SphereThetaPhi(const SphereThetaPhi<T>& obj);
 FITS_SphereThetaPhi(SphereThetaPhi<T>* obj);
@@ -33,6 +33,6 @@
 virtual FitsHandlerInterface* Clone();
 
-void Mollweide_picture_projection(char flnm[]);
-void sinus_picture_projection(char flnm[]);
+void Mollweide_picture_projection(const char flnm[]);
+void sinus_picture_projection(const char flnm[]);
 
 
Index: trunk/SophyaExt/FitsIOServer/fitstarray.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitstarray.cc	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitstarray.cc	(revision 3572)
@@ -24,5 +24,5 @@
 
 template <class T>
-FITS_TArray<T>::FITS_TArray(char inputfile[],int hdunum)
+FITS_TArray<T>::FITS_TArray(const char inputfile[],int hdunum)
 {
   dobj_=NULL;
Index: trunk/SophyaExt/FitsIOServer/fitstarray.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitstarray.h	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/fitstarray.h	(revision 3572)
@@ -25,5 +25,5 @@
 
 FITS_TArray();
-FITS_TArray(char inputfile[],int hdunum=0);
+FITS_TArray(const char inputfile[],int hdunum=0);
 FITS_TArray(const TArray<T> & obj);
 FITS_TArray(TArray<T> *obj);
Index: trunk/SophyaExt/FitsIOServer/fitsxntuple.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsxntuple.cc	(revision 3493)
+++ 	(revision )
@@ -1,399 +1,0 @@
-#include "sopnamsp.h"
-#include "pexceptions.h"
-#include "fitsxntuple.h"
-///////////////////////////////////////////////////////////
-//   Les objets delegues pour la gestion de persistance sur fichiers fits 
-//    pout XNTuple
-///////////////////////////////////////////////////////////
-
-/*!
-  \class SOPHYA::FITS_XNTuple
-  \ingroup FitsIOServer
-  FITS format I/O handler for SOPHYA::XNTuple objects.
-*/
-
-
-#define LONNOM 31 
-
-
-FITS_XNTuple::FITS_XNTuple()
-{
-  dobj_ = new XNTuple;
-  InitNull();
-  ownobj_ = true;
-}
-
-FITS_XNTuple::FITS_XNTuple(char inputfile[],int hdunum)
-{
-  dobj_ = new XNTuple;
-  InitNull();
-  ownobj_ = true; 
-
-  Read(inputfile,hdunum);
-}
-
-
-FITS_XNTuple::FITS_XNTuple(const XNTuple & obj) 
-{ 
-  dobj_ = new XNTuple(obj);
-  InitNull();
-  ownobj_ = true; 
-}
-FITS_XNTuple::FITS_XNTuple(XNTuple* obj) 
-{ 
-  dobj_ = obj;
-  InitNull();
-  ownobj_ = false; 
-}
-FITS_XNTuple::~FITS_XNTuple()
-{
-  if (ownobj_ && dobj_ != NULL) delete dobj_;
-}
-
-
-void FITS_XNTuple::ReadLines(char inputfile[],int firstLine, int numberOfLines,int hdunum)
-{
-  fistLineToBeRead_ = firstLine;
-  numberOfLinesToBeRead_ = numberOfLines;
-  Read(inputfile,hdunum);
-}
-
-
- 
-void FITS_XNTuple::ReadFromFits(FitsInFile& is)
-{   
-  if (!is.IsFitsTable())
-    {
-      throw PException("ReadFromFits: the fits file seems not to be a bintable nor ASCII table");
-    }
-  int nbcols, nbentries;
-  nbcols = is.NbColsFromFits();
-  nbentries = 0;
-  int k;
-  for (k=0; k<nbcols; k++) nbentries=max( nbentries, is.NentriesFromFits(k) );
-
-  //
-  // pour mettre les colonnes dans l'ordre double, float, int, char :
-  // tableau de correspondance 
-  // DfitsCol(j)= numero dans le fichier fits de la  jeme variable double du 
-  // xntuple;
-  // FfitsCol(j)= numero dans le fichier fits de la  jeme variable float du 
-  // xntuple;
-  // etc.
-  vector<int> DfitsCol;
-  vector<int> FfitsCol;
-  vector<int> IfitsCol;
-  vector<int> SfitsCol;
-  for (k=0; k<nbcols;k++)
-    {
-
-      FitsFile::FitsDataType ss= is.ColTypeFromFits(k);
-      switch (ss) 
-	{
-	case  FitsFile::FitsDataType_double :
-	  {
-	    DfitsCol.push_back(k);
-	    break;
-	  }
-	case FitsFile::FitsDataType_float :
-	  {
-	    FfitsCol.push_back(k);
-	    break;
-	  }
-	case FitsFile::FitsDataType_int :
-	  {
-	    IfitsCol.push_back(k);
-	    break;
-	  }
-	case FitsFile::FitsDataType_long :
-	  {
-	    IfitsCol.push_back(k);
-	    break;
-	  }
-	case FitsFile::FitsDataType_byte :
-	  {
-	    IfitsCol.push_back(k);
-	    break;
-	  }
-	case FitsFile::FitsDataType_char :
-	  {
-	    SfitsCol.push_back(k);
-	    break;
-	  }
-	default :
-	  {
-	    cout << " FITS_XNTuple: colonne fits " << k << " type= " << (int) ss << endl;
-	    throw  IOExc("type de champ inconnu");
-	  }
-	}
-    }
-  char ** ColName = new char*[nbcols];
-  int compt=0;
-  for (k=0; k<DfitsCol.size(); k++)
-    {
-      ColName[compt] = new char[LONNOM+1]; 
-      strncpy(ColName[compt], is.ColNameFromFits(DfitsCol[k]).c_str(), LONNOM);
-      ColName[compt++][ LONNOM] =  '\0';
-    }
-  for (k=0; k<FfitsCol.size(); k++)
-    {
-      ColName[compt] = new char[LONNOM+1]; 
-      strncpy(ColName[compt], is.ColNameFromFits(FfitsCol[k]).c_str(), LONNOM);
-      ColName[compt++][ LONNOM] =  '\0';
-    }
-  for (k=0; k<IfitsCol.size(); k++)
-    {
-      ColName[compt] = new char[LONNOM+1]; 
-      strncpy(ColName[compt], is.ColNameFromFits(IfitsCol[k]).c_str(), LONNOM);
-      ColName[compt++][ LONNOM] =  '\0';
-    }
-  for (k=0; k<SfitsCol.size(); k++)
-    {
-      ColName[compt] = new char[LONNOM+1]; 
-      strncpy(ColName[compt], is.ColNameFromFits(SfitsCol[k]).c_str(), LONNOM);
-      ColName[compt++][LONNOM] =  '\0';
-    }
-  int ND = DfitsCol.size();
-  int NF = FfitsCol.size();
-  int NI = IfitsCol.size();
-  int NS = SfitsCol.size();
-  if(dobj_ == NULL) 
-    { 
-      dobj_= new XNTuple(ND, NF, NI, NS,ColName);
-      ownobj_ = true;      
-    }
-  else 
-    {
-      if (ownobj_)
-	{
-	  (*dobj_)= XNTuple(ND, NF, NI, NS,ColName);
-	}
-      else
-	{
-	  if (ND != dobj_->NDVar() || NF != dobj_->NFVar() ||  NI != dobj_->NIVar() || NS != dobj_->NSVar())
-	    {
-	      //	      cout << " WARNING : FITS_XNTuple : XNTuple reconfigured " << endl;
-	      (*dobj_)= XNTuple(ND, NF, NI, NS,ColName);
-	    }
-	}
-    }
-
-  for (k=0; k<nbcols;k++) 
-    {
-      delete [] ColName[k];
-    }
-  delete [] ColName;
-
-    r_8* dligne;
-    r_4* fligne;
-    int_4* iligne;
-    char** cligne;
-
-  if (ND>0) dligne = new double[ND];
-  else dligne=NULL;
-  if (NF>0) fligne = new float[NF];
-  else fligne=NULL;
-  if (NI) iligne = new int[NI];
-  else iligne=NULL;
-  if (NS) 
-    {
-      cligne = new char*[NS];
-      int  taille_des_chaines=0;
-      for (k=0; k< NS; k++)  taille_des_chaines = max( taille_des_chaines, is.ColStringLengthFromFits(SfitsCol[k]) );
-      for (k=0; k<NS; k++) cligne[k]=new char[taille_des_chaines+1];
-    }
-  else cligne=NULL;
-  int firstln, lastln;
-  if (numberOfLinesToBeRead_ > 0) 
-    {
-      firstln = fistLineToBeRead_;
-      lastln = firstln + numberOfLinesToBeRead_;
-    }
-  else
-    {
-      firstln = 0;
-      lastln  = nbentries;
-    }
-  int numLigne;
-  for (numLigne=firstln; numLigne < lastln; numLigne++)
-    {
-      const FitsFile::BufferLine& bfligne = is.GetBufferLine(numLigne);
-      int k;
-      int rang;
-      int dcount =0;
-      int fcount =0;
-      int icount =0;
-      int ccount = 0;
-      for (k=0; k<nbcols;k++)
-	{
-	  rang = bfligne.identificateur()[k].second;
-	  switch (bfligne.identificateur()[k].first)
-	    {
-	    case  FitsFile::FitsDataType_double :
-	      {
-		dligne[dcount++] =  bfligne.r_8Array(rang);
-		break;
-	      }
-	    case  FitsFile::FitsDataType_float :
-	      {
-		fligne[fcount++] =  bfligne.r_4Array(rang);
-		break;
-	      }
-	    case  FitsFile::FitsDataType_short :
-	      {
-		iligne[icount++] =  bfligne.int_2Array(rang);
-		break;
-	      }
-	    case  FitsFile::FitsDataType_int :
-	      {
-		iligne[icount++] =  bfligne.int_4Array(rang);
-		break;
-	      }
-	    case  FitsFile::FitsDataType_long :
-	      {
-		iligne[icount++] =  (int_4)bfligne.int_8Array(rang);
-		break;
-	      }
-	    case  FitsFile::FitsDataType_byte :
-	      {
-		iligne[icount++] =  (int_4)bfligne.u_charArray(rang);
-		break;
-	      }
-	    case FitsFile::FitsDataType_char :
-	      {
-		strncpy( cligne[ccount++], bfligne.stringArray(rang).c_str(),bfligne.stringArray(rang).length());
-		break;
-	      }
-
-	    default:
-	      {  
-		throw PException(" FITS_XNTuple::ReadFromFits : unsupported FITS data type");
-	      }
-	    }
-	
-	}
-      //      is.GetBinTabLine(numLigne, dligne, fligne, iligne, cligne );
-      //      dobj_->Fill((r_8*)dligne, (r_4*)fligne, (int_4*)iligne, cligne);    
-      dobj_->Fill(dligne, fligne, iligne, cligne);    
-    }
-    delete [] dligne;
-    delete [] fligne;
-    delete [] iligne;
-    for (k=0; k< SfitsCol.size(); k++) delete []  cligne[k];
-    delete [] cligne; 
-  dobj_->Info()=is.DVListFromFits();
-
-}
-void FITS_XNTuple::WriteToFits(FitsOutFile& os) 
-{
-
-  if(dobj_ == NULL) 
-    {
-      cout << " WriteToFits:: dobj_= null " << endl;
-      return;
-    }
-
-  // table will have 'ncols'  columns
-  int ncols = dobj_->NVar(); 
-  // table will have 'nrows' rows
-  int nrows = dobj_->NEntry();
-  //  cout << " FITS_XNTuple::WriteToFits : nombre de lignes a ecrire " << nrows << endl;
-  // get names and values from the join DVList object
-  DVList dvl= dobj_->Info();
-  // extension name
-  string extname("XNTuple_Binary_tbl"); 
-  vector<string> Noms(ncols);   
-  int k;
-  for (k=0; k< ncols; k++)
-    {
-      Noms[k] = dobj_->NomIndex(k) ;
-    }
-  string types;
-  for (k=0; k<dobj_->NDVar();k++)
-    {
-      types+='D';
-    }
-  for (k=0; k<dobj_->NFVar();k++)
-    {
-      types+='E';
-    }
-  for (k=0; k<dobj_->NIVar();k++)
-    {
-      types+='J';
-    }
-  for (k=0; k<dobj_->NSVar();k++)
-    {
-      types+='A';
-    }            
-  vector<int> StringSizes(dobj_->NSVar());
-  for (k=0; k< StringSizes.size(); k++) StringSizes[k]=dobj_->mStrSz;
-  dvl["Content"]= "XNTuple";
-  dvl.SetComment("Content", "name of SOPHYA object");
-  os.makeHeaderBntblOnFits(types, Noms, nrows, ncols, &dvl, extname,StringSizes); 
-   
-  int compt=0; 
-   if (dobj_->NDVar() > 0) 
-     {
-       double* dcolumn = new double[nrows];
-       for (k=0; k<dobj_->NDVar();k++)
-	 {
-           int j;
-	   for(j = 0; j < nrows; j++) dcolumn[j]= dobj_->GetDVal(j,compt);
-	   os.PutColToFits(compt, nrows, dcolumn);
-	   compt++;
-	 }
-       delete [] dcolumn;
-     }
-
-   if (dobj_->NFVar() > 0)
-     {
-       float* fcolumn = new float[nrows];
-       for (k=0; k<dobj_->NFVar();k++)
-	 {
-           int j;
-	   for(j = 0; j < nrows; j++) fcolumn[j]= dobj_->GetFVal(j,compt);
-	   os.PutColToFits(compt, nrows, fcolumn);
-	   compt++;
-	 }
-       delete [] fcolumn;
-     }
-
-   if (dobj_->NIVar() > 0)
-     { 
-       int_4* icolumn = new int_4[nrows];
-       for (k=0; k<dobj_->NIVar();k++)
-	 {
-           int j; 
-	   for(j = 0; j < nrows; j++) icolumn[j]= dobj_->GetIVal(j,compt);
-	   //	   for(j = 0; j < nrows; j++) cout << icolumn[j] << endl;;
-
-	   os.PutColToFits(compt, nrows, icolumn);
-	   compt++;
-	 }
-       delete [] icolumn;
-     }
-
-   if (dobj_->NSVar() > 0)
-     {
-      char**  ccolumn = new char*[nrows];
-      for (k=0; k<dobj_->NSVar();k++)
-	{
-	  int j;
-	  for(j = 0; j < nrows; j++)
-	    {
-	      string s= dobj_->GetSVal(j,compt);
-	      ccolumn[j] = new char[dobj_->mStrSz+1];
-	      strcpy(ccolumn[j],s.c_str());
-	    }
-	  os.PutColToFits(compt, nrows, ccolumn);
-	  compt++;
-	  for(j = 0; j < nrows; j++)
-	    {
-	      delete [] ccolumn[j];
-	      ccolumn[j] = NULL;
-	    }
-
-	}
-      delete [] ccolumn;
-     }
-}
Index: trunk/SophyaExt/FitsIOServer/fitsxntuple.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fitsxntuple.h	(revision 3493)
+++ 	(revision )
@@ -1,79 +1,0 @@
-// Guy Le Meur 03/2000
-
-
-#ifndef FITSXNTuple_SEEN
-#define FITSXNTuple_SEEN
-#include "machdefs.h"
-#include "xntuple.h"
-#include "anydataobj.h"
-#include "ppersist.h"
-#include "fitsfile.h"
-
-namespace SOPHYA {
-///////////////////////////////////////////////////////////
-//   Les objets delegues pour la gestion de persistance sur fichiers fits 
-//   pour XNTuple
-///////////////////////////////////////////////////////////
-
-class  FITS_XNTuple : public FitsIOHandler  
-{
-
-public:
-FITS_XNTuple();
-FITS_XNTuple(char inputfile[],int hdunum=0);
-FITS_XNTuple(const XNTuple & obj);
-FITS_XNTuple(XNTuple* obj);
-~FITS_XNTuple();
-
-virtual   AnyDataObj* DataObj() { return(dobj_); }
-virtual   void        SetDataObj(AnyDataObj & o) 
-  {   
-    XNTuple* po = dynamic_cast<  XNTuple* >(& o); 
-    if (po == NULL) return;
-    if (ownobj_ && dobj_) delete dobj_;  
-    dobj_ = po; 
-    ownobj_ = false; 
-  }    
-
-
-/*!
-fill the XNTuple only with lines from firstLine-th to (firstLine+numberOfLines-1)-th of the FITS-file inputfile.
-\param <firstLine>  first line  to be read (the first line of the file is numbered 0)
-\param <numberOfLines>  number of lines to be read
-*/
-void ReadLines(char inputfile[],int firstLine, int numberOfLines,int hdunum=0);
-inline operator XNTuple() { return(*dobj_); }
-inline XNTuple * getObj() { return(dobj_); }
-
-protected:
-
-  // implementation de FitsFile
- virtual void  ReadFromFits(FitsInFile& is);
-virtual void    WriteToFits(FitsOutFile& os) ;
-
- private :
-
-
-inline void InitNull()
-   {
-     fistLineToBeRead_= -1;
-     numberOfLinesToBeRead_= -1;
-   }
-
-  // attributs de classe
-  XNTuple* dobj_;
-  bool    ownobj_;
-  int fistLineToBeRead_;
-  int numberOfLinesToBeRead_;
-};
-//////////////////////////////////////////////////////////////////
-
-inline FitsOutFile& operator << (FitsOutFile& fios, XNTuple & nt)
-  { FITS_XNTuple fih(&nt); fih.Write(fios); return (fios); }
-
-inline FitsInFile& operator >> (FitsInFile& fiis, XNTuple & nt)
-  { FITS_XNTuple fih(&nt); fih.Read(fiis); return (fiis); }
-
-} // Fin du namespace
-
-#endif
Index: trunk/SophyaExt/FitsIOServer/objlist.list
===================================================================
--- trunk/SophyaExt/FitsIOServer/objlist.list	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/objlist.list	(revision 3572)
@@ -5,5 +5,4 @@
 fbtntintf.o
 fiosinit.o
-fitsautoreader.o
 fitsbntbllineRW.o
 fitsfile.o
@@ -19,4 +18,3 @@
 fitsspherethetaphi.o
 fitstarray.o
-fitsxntuple.o
 swfitsdtable.o
Index: trunk/SophyaExt/FitsIOServer/smakefile
===================================================================
--- trunk/SophyaExt/FitsIOServer/smakefile	(revision 3493)
+++ trunk/SophyaExt/FitsIOServer/smakefile	(revision 3572)
@@ -4,8 +4,8 @@
  
 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)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)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)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)fitsbntbllineRW.o $(SOPHYAOBJP)fitsfile.o $(SOPHYAOBJP)fitsgenedata.o $(SOPHYAOBJP)fitshdtable.o $(SOPHYAOBJP)fitshisterr.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)swfitsdtable.o
 	$(AR) $(ARFLAGS) $@ $? 
 	touch $(SOPHYAINCP)/SophyaConfInfo/libextsophya.objlist
@@ -184,53 +184,4 @@
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiosinit.cc
  
-$(SOPHYAOBJP)fitsautoreader.o: fitsautoreader.cc \
-  $(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)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h fitshandler.h \
-  fitstarray.h $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h fitsspherehealpix.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.h \
-  $(SOPHYAINCP)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)datatype.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.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)ntupintf.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsautoreader.cc
- 
 $(SOPHYAOBJP)fitsbntbllineRW.o: fitsbntbllineRW.cc \
   $(SOPHYAINCP)sopnamsp.h \
@@ -633,30 +584,4 @@
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitstarray.cc
  
-$(SOPHYAOBJP)fitsxntuple.o: fitsxntuple.cc \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)machdefs.h fitsxntuple.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)xntuple.h \
-  $(SOPHYAINCP)ntupintf.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h fitsfile.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)dvlist.h fitsinoutfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h fitshandler.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fitsxntuple.cc
- 
 $(SOPHYAOBJP)swfitsdtable.o: swfitsdtable.cc swfitsdtable.h \
   $(SOPHYAINCP)basedtable.h \
