Index: trunk/SophyaLib/SkyMap/Makefile
===================================================================
--- trunk/SophyaLib/SkyMap/Makefile	(revision 2995)
+++ trunk/SophyaLib/SkyMap/Makefile	(revision 3007)
@@ -4,34 +4,11 @@
  
 clean:
-	 rm -f $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
+	 rm -f $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
 	rm -f $(SOPHYALIBP)libSkyMap.a
  
-$(SOPHYALIBP)libSkyMap.a : $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
+$(SOPHYALIBP)libSkyMap.a : $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
 	$(AR) $(ARFLAGS) $@ $? 
 	touch $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
  
-$(SOPHYAOBJP)HEALPixUtils.o: HEALPixUtils.cc \
-  $(SOPHYAINCP)sopnamsp.h HEALPixUtils.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.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)utilarr.h \
-  $(SOPHYAINCP)smathconst.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  HEALPixUtils.cc
- 
 $(SOPHYAOBJP)fiolocalmap.o: fiolocalmap.cc \
   $(SOPHYAINCP)sopnamsp.h fiolocalmap.h \
@@ -44,19 +21,28 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h localmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h localmap.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fioarr.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiolocalmap.cc
  
@@ -72,18 +58,27 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fioarr.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)pexceptions.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiosphereecp.cc
  
@@ -98,45 +93,89 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h spherehealpix.h \
-  HEALPixUtils.h $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h spherehealpix.h \
+  HEALPixUtils.h $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiospherehealpix.cc
  
 $(SOPHYAOBJP)fiospherethetaphi.o: fiospherethetaphi.cc \
-  $(SOPHYAINCP)sopnamsp.h fiospherethetaphi.h \
-  sphericalmap.h $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)machdefs.h 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 spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h spherethetaphi.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)sopnamsp.h \
+  fiospherethetaphi.h sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)machdefs.h pixelmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h spherethetaphi.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiospherethetaphi.cc
+ 
+$(SOPHYAOBJP)HEALPixUtils.o: HEALPixUtils.cc \
+  $(SOPHYAINCP)sopnamsp.h HEALPixUtils.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.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 \
+  $(SOPHYAINCP)smathconst.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  HEALPixUtils.cc
  
 $(SOPHYAOBJP)localmap.o: localmap.cc \
@@ -149,10 +188,14 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h sphericalmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h sphericalmap.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)tvector.h \
@@ -160,13 +203,17 @@
   $(SOPHYAINCP)tarray.h \
   $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fiondblock.h \
   $(SOPHYAINCP)timing.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  localmap.cc
  
-$(SOPHYAOBJP)longlat.o: longlat.cc $(SOPHYAINCP)sopnamsp.h \
-  longlat.h $(SOPHYAINCP)machdefs.h \
-  utilgeom.h
+$(SOPHYAOBJP)longlat.o: longlat.cc \
+  $(SOPHYAINCP)sopnamsp.h longlat.h \
+  $(SOPHYAINCP)machdefs.h utilgeom.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  longlat.cc
  
@@ -175,4 +222,5 @@
   $(SOPHYAINCP)machdefs.h mapoperation.h \
   $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)anydataobj.h pixelmap.h \
   $(SOPHYAINCP)ppersist.h \
@@ -182,9 +230,12 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  unitvector.h vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  mapoperation.cc
  
@@ -192,5 +243,6 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h skymapinit.h \
-  $(SOPHYAINCP)sophyainit.h spherethetaphi.h \
+  $(SOPHYAINCP)sophyainit.h \
+  $(SOPHYAINCP)machdefs.h spherethetaphi.h \
   sphericalmap.h $(SOPHYAINCP)smathconst.h \
   pixelmap.h $(SOPHYAINCP)ppersist.h \
@@ -200,4 +252,5 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ppersist.h \
   $(SOPHYAINCP)dvlist.h \
   $(SOPHYAINCP)objfio.h \
@@ -206,12 +259,18 @@
   $(SOPHYAINCP)timestamp.h spherepos.h \
   unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h fiospherehealpix.h \
-  spherehealpix.h HEALPixUtils.h fiospherethetaphi.h fiolocalmap.h \
-  localmap.h fiosphereecp.h sphereecp.h
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
+  fiospherehealpix.h spherehealpix.h HEALPixUtils.h fiospherethetaphi.h \
+  fiolocalmap.h localmap.h fiosphereecp.h sphereecp.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  skymapinit.cc
  
@@ -226,41 +285,58 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sphereecp.cc
+ 
+$(SOPHYAOBJP)spherehealpix.o: spherehealpix.cc \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)fiondblock.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)anydataobj.h spherehealpix.h \
+  sphericalmap.h $(SOPHYAINCP)smathconst.h \
+  pixelmap.h $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
   $(SOPHYAINCP)mutyv.h \
   $(SOPHYAINCP)timestamp.h spherepos.h \
   unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sphereecp.cc
- 
-$(SOPHYAOBJP)spherehealpix.o: spherehealpix.cc \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)anydataobj.h spherehealpix.h \
-  sphericalmap.h $(SOPHYAINCP)smathconst.h \
-  pixelmap.h $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)utilarr.h HEALPixUtils.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h HEALPixUtils.h \
   $(SOPHYAINCP)strutil.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  spherehealpix.cc
@@ -270,9 +346,11 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h unitvector.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ppersist.h unitvector.h \
   vector3d.h longlat.h utilgeom.h \
   $(SOPHYAINCP)anydataobj.h \
@@ -290,16 +368,24 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  spherethetaphi.cc
@@ -319,5 +405,6 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)pexceptions.h vector3d.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h vector3d.h \
   longlat.h utilgeom.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  vector3d.cc
Index: trunk/SophyaLib/SkyMap/objlist.list
===================================================================
--- trunk/SophyaLib/SkyMap/objlist.list	(revision 2995)
+++ trunk/SophyaLib/SkyMap/objlist.list	(revision 3007)
@@ -1,7 +1,7 @@
-HEALPixUtils.o
 fiolocalmap.o
 fiosphereecp.o
 fiospherehealpix.o
 fiospherethetaphi.o
+HEALPixUtils.o
 localmap.o
 longlat.o
Index: trunk/SophyaLib/SkyMap/smakefile
===================================================================
--- trunk/SophyaLib/SkyMap/smakefile	(revision 2995)
+++ trunk/SophyaLib/SkyMap/smakefile	(revision 3007)
@@ -4,33 +4,11 @@
  
 clean:
-	 rm -f $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
+	 rm -f $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
 	rm -f $(SOPHYALIBP)libSkyMap.a
  
-$(SOPHYALIBP)libSkyMap.a : $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
+$(SOPHYALIBP)libSkyMap.a : $(SOPHYAOBJP)fiolocalmap.o $(SOPHYAOBJP)fiosphereecp.o $(SOPHYAOBJP)fiospherehealpix.o $(SOPHYAOBJP)fiospherethetaphi.o $(SOPHYAOBJP)HEALPixUtils.o $(SOPHYAOBJP)localmap.o $(SOPHYAOBJP)longlat.o $(SOPHYAOBJP)mapoperation.o $(SOPHYAOBJP)skymapinit.o $(SOPHYAOBJP)sphereecp.o $(SOPHYAOBJP)spherehealpix.o $(SOPHYAOBJP)spherepos.o $(SOPHYAOBJP)spherethetaphi.o $(SOPHYAOBJP)unitvector.o $(SOPHYAOBJP)utilgeom.o $(SOPHYAOBJP)vector3d.o
 	$(AR) $(ARFLAGS) $@ $? 
 	touch $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
  
-$(SOPHYAOBJP)HEALPixUtils.o: HEALPixUtils.cc \
-  $(SOPHYAINCP)sopnamsp.h HEALPixUtils.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.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)utilarr.h \
-  $(SOPHYAINCP)smathconst.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  HEALPixUtils.cc
- 
 $(SOPHYAOBJP)fiolocalmap.o: fiolocalmap.cc \
   $(SOPHYAINCP)sopnamsp.h fiolocalmap.h \
@@ -43,18 +21,28 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h localmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h localmap.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fioarr.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiolocalmap.cc
  
@@ -70,17 +58,27 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fioarr.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)pexceptions.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiosphereecp.cc
  
@@ -95,43 +93,89 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h spherehealpix.h \
-  HEALPixUtils.h $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h spherehealpix.h \
+  HEALPixUtils.h $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiospherehealpix.cc
  
 $(SOPHYAOBJP)fiospherethetaphi.o: fiospherethetaphi.cc \
-  $(SOPHYAINCP)sopnamsp.h fiospherethetaphi.h \
-  sphericalmap.h $(SOPHYAINCP)smathconst.h \
-  $(SOPHYAINCP)machdefs.h 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 spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h spherethetaphi.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)datatype.h
+  $(SOPHYAINCP)sopnamsp.h \
+  fiospherethetaphi.h sphericalmap.h \
+  $(SOPHYAINCP)smathconst.h \
+  $(SOPHYAINCP)machdefs.h pixelmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h spherethetaphi.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiospherethetaphi.cc
+ 
+$(SOPHYAOBJP)HEALPixUtils.o: HEALPixUtils.cc \
+  $(SOPHYAINCP)sopnamsp.h HEALPixUtils.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.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 \
+  $(SOPHYAINCP)smathconst.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  HEALPixUtils.cc
  
 $(SOPHYAOBJP)localmap.o: localmap.cc \
@@ -144,9 +188,14 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h sphericalmap.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h sphericalmap.h \
   $(SOPHYAINCP)smathconst.h \
   $(SOPHYAINCP)tvector.h \
@@ -154,13 +203,17 @@
   $(SOPHYAINCP)tarray.h \
   $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fiondblock.h \
   $(SOPHYAINCP)timing.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  localmap.cc
  
-$(SOPHYAOBJP)longlat.o: longlat.cc $(SOPHYAINCP)sopnamsp.h \
-  longlat.h $(SOPHYAINCP)machdefs.h \
-  utilgeom.h
+$(SOPHYAOBJP)longlat.o: longlat.cc \
+  $(SOPHYAINCP)sopnamsp.h longlat.h \
+  $(SOPHYAINCP)machdefs.h utilgeom.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  longlat.cc
  
@@ -169,4 +222,5 @@
   $(SOPHYAINCP)machdefs.h mapoperation.h \
   $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)anydataobj.h pixelmap.h \
   $(SOPHYAINCP)ppersist.h \
@@ -176,8 +230,12 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  unitvector.h vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  mapoperation.cc
  
@@ -185,5 +243,6 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h skymapinit.h \
-  $(SOPHYAINCP)sophyainit.h spherethetaphi.h \
+  $(SOPHYAINCP)sophyainit.h \
+  $(SOPHYAINCP)machdefs.h spherethetaphi.h \
   sphericalmap.h $(SOPHYAINCP)smathconst.h \
   pixelmap.h $(SOPHYAINCP)ppersist.h \
@@ -193,17 +252,25 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
   unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h fiospherehealpix.h \
-  spherehealpix.h HEALPixUtils.h fiospherethetaphi.h fiolocalmap.h \
-  localmap.h fiosphereecp.h sphereecp.h
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
+  fiospherehealpix.h spherehealpix.h HEALPixUtils.h fiospherethetaphi.h \
+  fiolocalmap.h localmap.h fiosphereecp.h sphereecp.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  skymapinit.cc
  
@@ -218,39 +285,58 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h
+	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sphereecp.cc
+ 
+$(SOPHYAOBJP)spherehealpix.o: spherehealpix.cc \
+  $(SOPHYAINCP)sopnamsp.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)fiondblock.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)anydataobj.h spherehealpix.h \
+  sphericalmap.h $(SOPHYAINCP)smathconst.h \
+  pixelmap.h $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
   unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h
-	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sphereecp.cc
- 
-$(SOPHYAOBJP)spherehealpix.o: spherehealpix.cc \
-  $(SOPHYAINCP)sopnamsp.h \
-  $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)fiondblock.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)anydataobj.h spherehealpix.h \
-  sphericalmap.h $(SOPHYAINCP)smathconst.h \
-  pixelmap.h $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)utilarr.h HEALPixUtils.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h HEALPixUtils.h \
   $(SOPHYAINCP)strutil.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  spherehealpix.cc
@@ -260,9 +346,11 @@
   $(SOPHYAINCP)machdefs.h \
   $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h unitvector.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)ppersist.h unitvector.h \
   vector3d.h longlat.h utilgeom.h \
   $(SOPHYAINCP)anydataobj.h \
@@ -280,15 +368,24 @@
   $(SOPHYAINCP)rawstream.h \
   $(SOPHYAINCP)ppfnametag.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)mutyv.h spherepos.h \
-  unitvector.h vector3d.h longlat.h utilgeom.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h spherepos.h \
+  $(SOPHYAINCP)machdefs.h unitvector.h \
+  vector3d.h longlat.h utilgeom.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)datatype.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
+  $(SOPHYAINCP)ndatablock.h \
   $(SOPHYAINCP)fiondblock.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  spherethetaphi.cc
@@ -308,5 +405,6 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h \
-  $(SOPHYAINCP)pexceptions.h vector3d.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h vector3d.h \
   longlat.h utilgeom.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  vector3d.cc
