Index: trunk/SophyaProg/PrgMap/Makefile
===================================================================
--- trunk/SophyaProg/PrgMap/Makefile	(revision 2834)
+++ trunk/SophyaProg/PrgMap/Makefile	(revision 3007)
@@ -42,4 +42,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -61,5 +62,7 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -74,4 +77,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -86,4 +90,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -106,6 +111,8 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  cl2map.cc
@@ -116,43 +123,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  cremskfrsph.cc
  
@@ -162,43 +175,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  extrap2sph.cc
  
@@ -208,43 +227,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  extrapsph.cc
  
@@ -252,4 +277,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -271,5 +297,7 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -284,4 +312,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -296,4 +325,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -316,12 +346,16 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  map2cl.cc
  
-$(SOPHYAOBJP)prjsmap.o: prjsmap.cc $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)nbmath.h \
+$(SOPHYAOBJP)prjsmap.o: prjsmap.cc \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -343,5 +377,7 @@
   $(SOPHYAINCP)utilarr.h \
   $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -356,4 +392,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -368,4 +405,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -388,6 +426,8 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  prjsmap.cc
Index: trunk/SophyaProg/PrgMap/smakefile
===================================================================
--- trunk/SophyaProg/PrgMap/smakefile	(revision 2834)
+++ trunk/SophyaProg/PrgMap/smakefile	(revision 3007)
@@ -42,4 +42,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -49,16 +50,19 @@
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)mutyv.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)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.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.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -73,4 +77,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -85,4 +90,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -105,6 +111,8 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  cl2map.cc
@@ -115,42 +123,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  cremskfrsph.cc
  
@@ -160,42 +175,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  extrap2sph.cc
  
@@ -205,42 +227,49 @@
   $(SOPHYAINCP)skymapinit.h \
   $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)skymap.h \
-  $(SOPHYAINCP)spherethetaphi.h \
-  $(SOPHYAINCP)sphericalmap.h \
-  $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)pixelmap.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)spherepos.h \
-  $(SOPHYAINCP)unitvector.h \
-  $(SOPHYAINCP)vector3d.h \
-  $(SOPHYAINCP)longlat.h \
-  $(SOPHYAINCP)utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)spherehealpix.h \
-  $(SOPHYAINCP)HEALPixUtils.h \
-  $(SOPHYAINCP)localmap.h \
-  $(SOPHYAINCP)sphereecp.h \
-  $(SOPHYAINCP)fiospherethetaphi.h \
-  $(SOPHYAINCP)fiospherehealpix.h \
-  $(SOPHYAINCP)fiolocalmap.h \
-  $(SOPHYAINCP)fiosphereecp.h \
-  $(SOPHYAINCP)fitsspherehealpix.h \
-  $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)skymap.h \
+  $(SOPHYAINCP)spherethetaphi.h \
+  $(SOPHYAINCP)sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)pixelmap.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)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)basarr.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)spherehealpix.h \
+  $(SOPHYAINCP)HEALPixUtils.h \
+  $(SOPHYAINCP)localmap.h \
+  $(SOPHYAINCP)sphereecp.h \
+  $(SOPHYAINCP)fiospherethetaphi.h \
+  $(SOPHYAINCP)fiospherehealpix.h \
+  $(SOPHYAINCP)fiolocalmap.h \
+  $(SOPHYAINCP)fiosphereecp.h \
+  $(SOPHYAINCP)fitsspherehealpix.h \
+  $(SOPHYAINCP)fitsfile.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  extrapsph.cc
  
@@ -248,4 +277,5 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -255,16 +285,19 @@
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)mutyv.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)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.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.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -279,4 +312,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -291,4 +325,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -311,12 +346,16 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  map2cl.cc
  
-$(SOPHYAOBJP)prjsmap.o: prjsmap.cc $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)nbmath.h \
+$(SOPHYAOBJP)prjsmap.o: prjsmap.cc \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)nbmath.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)timing.h \
@@ -326,16 +365,19 @@
   $(SOPHYAINCP)anydataobj.h \
   $(SOPHYAINCP)mutyv.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)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tvector.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.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   $(SOPHYAINCP)matharr.h \
   $(SOPHYAINCP)fioarr.h \
@@ -350,4 +392,5 @@
   $(SOPHYAINCP)longlat.h \
   $(SOPHYAINCP)utilgeom.h \
+  $(SOPHYAINCP)datatype.h \
   $(SOPHYAINCP)spherehealpix.h \
   $(SOPHYAINCP)HEALPixUtils.h \
@@ -362,4 +405,5 @@
   $(SOPHYAINCP)nbrandom.h \
   $(SOPHYAINCP)srandgen.h \
+  $(SOPHYAINCP)nbmath.h \
   $(SOPHYAINCP)triangmtx.h \
   $(SOPHYAINCP)bruit.h \
@@ -382,6 +426,8 @@
   $(SOPHYAINCP)fitsspherehealpix.h \
   $(SOPHYAINCP)fitsfile.h \
-  $(SOPHYAINCP)FitsIO/fitsio.h \
-  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitsinoutfile.h \
+  $(SOPHYAINCP)FitsIO/fitsio.h \
+  $(SOPHYAINCP)FitsIO/longnam.h \
+  $(SOPHYAINCP)fitshandler.h \
   $(SOPHYAINCP)fitstarray.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  prjsmap.cc
