Index: trunk/SophyaLib/SkyMap/fiolocalmap.cc
===================================================================
--- trunk/SophyaLib/SkyMap/fiolocalmap.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/fiolocalmap.cc	(revision 1624)
@@ -26,5 +26,4 @@
 {
   dobj= new LocalMap<T>;
-  dobj->DataBlock().SetTemp(true);
   ownobj= true;
   Read(filename);
@@ -38,5 +37,4 @@
 {
   dobj= new LocalMap<T>(obj, true);
-  dobj->DataBlock().SetTemp(true);
   ownobj= true;
 }
@@ -89,5 +87,4 @@
     {
       dobj= new LocalMap<T>;
-      dobj->DataBlock().SetTemp(true);
       ownobj= true;
     }
Index: trunk/SophyaLib/SkyMap/fiospherehealpix.cc
===================================================================
--- trunk/SophyaLib/SkyMap/fiospherehealpix.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/fiospherehealpix.cc	(revision 1624)
@@ -21,5 +21,4 @@
 {
   dobj_= new SphereHEALPix<T>;
-  dobj_->SetTemp(true);
   ownobj= true;
   Read(filename);
@@ -30,5 +29,4 @@
 {
   dobj_= new SphereHEALPix<T>(obj, true);
-  dobj_->SetTemp(true);
   ownobj= true;
 }
@@ -69,5 +67,4 @@
     {
       dobj_= new SphereHEALPix<T>;
-      dobj_->SetTemp(true);
       ownobj= true;      
     }
Index: trunk/SophyaLib/SkyMap/fiospherethetaphi.cc
===================================================================
--- trunk/SophyaLib/SkyMap/fiospherethetaphi.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/fiospherethetaphi.cc	(revision 1624)
@@ -22,5 +22,4 @@
 {
   dobj= new SphereThetaPhi<T>;
-  dobj->pixels_.SetTemp(true);
   ownobj= true;
   Read(filename);
@@ -31,5 +30,4 @@
 {
   dobj= new SphereThetaPhi<T>(obj, true);
-  dobj->pixels_.SetTemp(true);
   ownobj= true;
 }
@@ -71,5 +69,4 @@
     {
       dobj= new SphereThetaPhi<T>;
-      dobj->pixels_.SetTemp(true);
       ownobj= true;      
     }
Index: trunk/SophyaLib/SkyMap/localmap.cc
===================================================================
--- trunk/SophyaLib/SkyMap/localmap.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/localmap.cc	(revision 1624)
@@ -592,9 +592,9 @@
 /*! Substract a constant value \b a to a LocalMap */
 template <class T>
-LocalMap<T>& LocalMap<T>::Sub(T a) 
+LocalMap<T>& LocalMap<T>::Sub(T a,bool fginv) 
 {
   if (NbPixels()< 1) 
     throw RangeCheckError("LocalMap<T>::Sub(T )  - LocalMap not dimensionned ! ");
-  pixels_ -= a; 
+  pixels_.Sub(a,fginv); 
   return (*this);
 } 
Index: trunk/SophyaLib/SkyMap/localmap.h
===================================================================
--- trunk/SophyaLib/SkyMap/localmap.h	(revision 1551)
+++ trunk/SophyaLib/SkyMap/localmap.h	(revision 1624)
@@ -120,5 +120,5 @@
 inline  LocalMap<T>&  operator += (T x)  { return Add(x); }
 //! Substract \b x to all elements
-virtual LocalMap<T>& Sub(T a); 
+virtual LocalMap<T>& Sub(T a,bool fginv=false); 
 inline   LocalMap<T>&  operator -= (T x)  { return Sub(x); }
 //! Multiply all elements by \b x
Index: trunk/SophyaLib/SkyMap/spherehealpix.cc
===================================================================
--- trunk/SophyaLib/SkyMap/spherehealpix.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/spherehealpix.cc	(revision 1624)
@@ -95,5 +95,4 @@
     }
   InitNul();
-  //  SetTemp(false);
   Pixelize(m);
   SetThetaSlices();
@@ -585,9 +584,9 @@
 /*! Substract a constant value \b a to a SphereHEALPix */
 template <class T>
-SphereHEALPix<T>& SphereHEALPix<T>::Sub(T a) 
+SphereHEALPix<T>& SphereHEALPix<T>::Sub(T a,bool fginv) 
 {
   if (NbPixels() < 1) 
     throw RangeCheckError("SphereHEALPix<T>::Sub(T )  - SphereHEALPix not dimensionned ! ");
-  pixels_ -= a; 
+  pixels_.Sub(a,fginv); 
   return (*this);
 } 
Index: trunk/SophyaLib/SkyMap/spherehealpix.h
===================================================================
--- trunk/SophyaLib/SkyMap/spherehealpix.h	(revision 1551)
+++ trunk/SophyaLib/SkyMap/spherehealpix.h	(revision 1624)
@@ -149,5 +149,5 @@
 inline  SphereHEALPix<T>&  operator += (T x)  { return Add(x); }
 //! Substract \b x to all elements
-virtual SphereHEALPix<T>& Sub(T a); 
+virtual SphereHEALPix<T>& Sub(T a,bool fginv=false); 
 inline   SphereHEALPix<T>&  operator -= (T x)  { return Sub(x); }
 //! Multiply all elements by \b x
Index: trunk/SophyaLib/SkyMap/spherethetaphi.cc
===================================================================
--- trunk/SophyaLib/SkyMap/spherethetaphi.cc	(revision 1551)
+++ trunk/SophyaLib/SkyMap/spherethetaphi.cc	(revision 1624)
@@ -751,9 +751,9 @@
 /*! Substract a constant value \b a to a SphereThetaPhi */
 template <class T>
-SphereThetaPhi<T>& SphereThetaPhi<T>::Sub(T a) 
+SphereThetaPhi<T>& SphereThetaPhi<T>::Sub(T a,bool fginv) 
 {
   if (NbPixels()< 1) 
     throw RangeCheckError("SphereThetaPhi<T>::Sub(T )  - SphereThetaPhi not dimensionned ! ");
-  pixels_ -= a; 
+  pixels_.Sub(a,fginv); 
   return (*this);
 } 
Index: trunk/SophyaLib/SkyMap/spherethetaphi.h
===================================================================
--- trunk/SophyaLib/SkyMap/spherethetaphi.h	(revision 1551)
+++ trunk/SophyaLib/SkyMap/spherethetaphi.h	(revision 1624)
@@ -201,5 +201,5 @@
 inline  SphereThetaPhi<T>&  operator += (T x)  { return Add(x); }
 //! Substract \b x to all elements
-virtual SphereThetaPhi<T>& Sub(T a); 
+virtual SphereThetaPhi<T>& Sub(T a,bool fginv=false); 
 inline   SphereThetaPhi<T>&  operator -= (T x)  { return Sub(x); }
 //! Multiply all elements by \b x
