Index: /trunk/SophyaLib/Samba/localmap.cc
===================================================================
--- /trunk/SophyaLib/Samba/localmap.cc	(revision 573)
+++ /trunk/SophyaLib/Samba/localmap.cc	(revision 574)
@@ -107,5 +107,7 @@
 //++
 template<class T>
-LocalMap<T>::LocalMap(const LocalMap<T>& lm)
+LocalMap<T>::LocalMap(const LocalMap<T>& lm, bool share)
+  : pixels_(lm.pixels_, share)
+
 //
 //    copy constructor
@@ -131,5 +133,4 @@
   tgAngleX_= lm.tgAngleX_;
   tgAngleY_= lm.tgAngleY_;
-  pixels_= lm.pixels_;
 }
 
@@ -210,4 +211,11 @@
     } 
   return *(pixels_.Data()+k);
+}
+
+template<class T>
+bool LocalMap<T>::ContainsSph(double theta, double phi) const
+{
+// $CHECK$  Reza 11/11/99 - A modifier
+return(true);
 }
 
@@ -281,4 +289,11 @@
   // retour au plan utilisateur
   ReferenceToUser(theta, phi);
+}
+
+template <class T>
+T LocalMap<T>::SetPixels(T v)
+{
+pixels_.Reset(v);
+return(v);
 }
  
@@ -584,5 +599,5 @@
 //--
 {
-  dobj= new LocalMap<T>(obj);
+  dobj= new LocalMap<T>(obj, true);
   ownobj= true;
 }
Index: /trunk/SophyaLib/Samba/localmap.h
===================================================================
--- /trunk/SophyaLib/Samba/localmap.h	(revision 573)
+++ /trunk/SophyaLib/Samba/localmap.h	(revision 574)
@@ -66,5 +66,5 @@
 LocalMap();
 LocalMap(int nx, int ny);
-LocalMap(const LocalMap<T>& lm);
+LocalMap(const LocalMap<T>& lm, bool share=false);
 virtual ~LocalMap();
 
@@ -98,4 +98,7 @@
 /*!    Return (theta, phi) coordinates of pixel with index k */
 virtual void PixThetaPhi(int k,double& theta,double& phi) const;
+
+/*! Set all pixels to value v */
+virtual T SetPixels(T v);
 
 /* return the Pixel Solid angle  (steradians) */
Index: /trunk/SophyaLib/Samba/pixelmap.h
===================================================================
--- /trunk/SophyaLib/Samba/pixelmap.h	(revision 573)
+++ /trunk/SophyaLib/Samba/pixelmap.h	(revision 574)
@@ -84,4 +84,8 @@
 // overloading of (int,int)     in CartesianMap
 
+/*! Setting pixel values to a constant */
+virtual T SetPixels(T v);
+inline T operator = (T v) { return(SetPixels(v)); }
+                     
 //++
 DVList& Info()
@@ -118,4 +122,11 @@
 return(ContainsSph(v.Theta(), v.Phi()));
 }
+template <class T>
+T PixelMap<T>::SetPixels(T v)
+{
+int k;
+for(k=0; k<NbPixels(); k++) PixVal(k) = v;
+return(v);
+}
 
 #endif
Index: /trunk/SophyaLib/Samba/spheregorski.cc
===================================================================
--- /trunk/SophyaLib/Samba/spheregorski.cc	(revision 573)
+++ /trunk/SophyaLib/Samba/spheregorski.cc	(revision 574)
@@ -211,6 +211,6 @@
 //++
 template<class T>
-SphereGorski<T>::SphereGorski(const SphereGorski<T>& s)
-
+SphereGorski<T>::SphereGorski(const SphereGorski<T>& s, bool share)
+  : pixels_(s.pixels_, share)
 //    copy constructor
 //--
@@ -222,7 +222,4 @@
   nPix_ = s.nPix_;
   omeg_ = s.omeg_;
-
-  pixels_= s.pixels_;
-
 }
 
@@ -495,4 +492,11 @@
 {
   pix2ang_ring(nSide_,k,theta,phi);
+}
+
+template <class T>
+T SphereGorski<T>::SetPixels(T v)
+{
+pixels_.Reset(v);
+return(v);
 }
 
@@ -1117,5 +1121,5 @@
 FIO_SphereGorski<T>::FIO_SphereGorski(const SphereGorski<T>& obj)
 {
-  dobj= new SphereGorski<T>(obj);
+  dobj= new SphereGorski<T>(obj, true);
   ownobj= true;
 }
Index: /trunk/SophyaLib/Samba/spheregorski.h
===================================================================
--- /trunk/SophyaLib/Samba/spheregorski.h	(revision 573)
+++ /trunk/SophyaLib/Samba/spheregorski.h	(revision 574)
@@ -65,5 +65,5 @@
 */
 SphereGorski(int m);
-SphereGorski(const SphereGorski<T>& s);
+SphereGorski(const SphereGorski<T>& s, bool share=false);
 //!	Destructor
 virtual ~SphereGorski();
@@ -104,4 +104,7 @@
 /* Coordonnees spheriques du milieu du pixel d'indice "RING" k   */
 virtual void PixThetaPhi(int k,double& theta,double& phi) const;
+
+/*! Set all pixels to value v */
+virtual T SetPixels(T v);
 
 /* Pixel Solid angle  (steradians) */
Index: /trunk/SophyaLib/Samba/spherethetaphi.cc
===================================================================
--- /trunk/SophyaLib/Samba/spherethetaphi.cc	(revision 573)
+++ /trunk/SophyaLib/Samba/spherethetaphi.cc	(revision 574)
@@ -61,5 +61,6 @@
 
 template <class T>
-SphereThetaPhi<T>::SphereThetaPhi(const SphereThetaPhi<T>& s)
+SphereThetaPhi<T>::SphereThetaPhi(const SphereThetaPhi<T>& s, bool share)
+  : pixels_(s.pixels_ , share)
 {
   if(s.mInfo_) mInfo_= new DVList(*s.mInfo_);
@@ -193,5 +194,5 @@
 {
   double dphi;
-  int i,j,k;
+  int i,k;
   bool fgzn = false;
 
@@ -238,4 +239,11 @@
   phi= DeuxPi/(double)NPhi_[i]*(double)(k+.5);
   if (fgzn) phi= DeuxPi-phi;
+}
+
+template <class T>
+T SphereThetaPhi<T>::SetPixels(T v)
+{
+pixels_.Reset(v);
+return(v);
 }
 
@@ -483,5 +491,5 @@
 //--
 {
-  int ntotpix,i,j;
+  int ntotpix,j;
   
   // Decodage et controle des arguments d'appel :
@@ -685,5 +693,5 @@
 FIO_SphereThetaPhi<T>::FIO_SphereThetaPhi(const SphereThetaPhi<T>& obj)
 {
-  dobj= new SphereThetaPhi<T>(obj);
+  dobj= new SphereThetaPhi<T>(obj, true);
   ownobj= true;
 }
Index: /trunk/SophyaLib/Samba/spherethetaphi.h
===================================================================
--- /trunk/SophyaLib/Samba/spherethetaphi.h	(revision 573)
+++ /trunk/SophyaLib/Samba/spherethetaphi.h	(revision 574)
@@ -32,5 +32,5 @@
 */
 SphereThetaPhi(int m);
-SphereThetaPhi(const SphereThetaPhi<T>& s);
+SphereThetaPhi(const SphereThetaPhi<T>& s, bool share=false);
 virtual ~SphereThetaPhi();
 
@@ -56,4 +56,7 @@
 /*!   Return (theta,phi) coordinates of middle of  pixel with  index k */
 virtual void PixThetaPhi(int k, double& theta, double& phi) const;
+
+/*! Setting pixel values to a constant */
+virtual T SetPixels(T v);
 
 /* retourne/fixe l'angle Solide de Pixel   (steradians) */ 
