Index: trunk/SophyaLib/Samba/spherethetaphi.cc
===================================================================
--- trunk/SophyaLib/Samba/spherethetaphi.cc	(revision 604)
+++ trunk/SophyaLib/Samba/spherethetaphi.cc	(revision 682)
@@ -50,5 +50,5 @@
 //++
 template <class T>
-SphereThetaPhi<T>::SphereThetaPhi(int m)
+SphereThetaPhi<T>::SphereThetaPhi(int_4 m)
 
 //    m is the number of slices in theta on an hemisphere (the polar cap
@@ -68,7 +68,7 @@
   NTheta_= s.NTheta_;
   NPix_  = s.NPix_;
-  NPhi_  = new int[NTheta_];
+  NPhi_  = new int_4[NTheta_];
   Theta_ = new double[NTheta_+1];
-  TNphi_ = new int[NTheta_+1];
+  TNphi_ = new int_4[NTheta_+1];
   for(int k = 0; k < NTheta_; k++) 
     {
@@ -123,5 +123,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::Resize(int m)
+void SphereThetaPhi<T>::Resize(int_4 m)
 //   re-pixelize the sphere
 //--
@@ -134,5 +134,5 @@
 //++
 template <class T>
-int SphereThetaPhi<T>::NbPixels() const
+int_4 SphereThetaPhi<T>::NbPixels() const
 
 //    Return total number of pixels 
@@ -145,5 +145,5 @@
 //++
 template <class T>
-T& SphereThetaPhi<T>::PixVal(int k)
+T& SphereThetaPhi<T>::PixVal(int_4 k)
 
 //    Return value of pixel with index k
@@ -161,5 +161,5 @@
 //++
 template <class T>
-T const& SphereThetaPhi<T>::PixVal(int k) const
+T const& SphereThetaPhi<T>::PixVal(int_4 k) const
 
 //    Return value of pixel with index k
@@ -178,5 +178,5 @@
 //++
 template <class T>
-bool SphereThetaPhi<T>::ContainsSph(double theta, double phi) const
+bool SphereThetaPhi<T>::ContainsSph(double /*theta*/, double /*phi*/) const
 //--
 {
@@ -187,5 +187,5 @@
 //++
 template <class T>
-int SphereThetaPhi<T>::PixIndexSph(double theta, double phi) const
+int_4 SphereThetaPhi<T>::PixIndexSph(double theta, double phi) const
 
 //    Return index of the pixel corresponding to 
@@ -208,6 +208,6 @@
   dphi= DeuxPi/(double)NPhi_[i-1];
   
-  if (fgzn)  k= NPix_-TNphi_[i]+(int)(phi/dphi);
-  else k= TNphi_[i-1]+(int)(phi/dphi); 
+  if (fgzn)  k= NPix_-TNphi_[i]+(int_4)(phi/dphi);
+  else k= TNphi_[i-1]+(int_4)(phi/dphi); 
   return(k);
 }
@@ -216,5 +216,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::PixThetaPhi(int k,double& theta,double& phi) const
+void SphereThetaPhi<T>::PixThetaPhi(int_4 k,double& theta,double& phi) const
 
 //   Return (theta,phi) coordinates of middle of  pixel with  index k
@@ -250,5 +250,5 @@
 //++
 template <class T>
-double SphereThetaPhi<T>::PixSolAngle(int dummy) const
+double SphereThetaPhi<T>::PixSolAngle(int_4 /*dummy*/) const
 
 //    Pixel Solid angle  (steradians)
@@ -264,5 +264,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::Limits(int k,double& tetMin,double& tetMax,double& phiMin,double& phiMax) 
+void SphereThetaPhi<T>::Limits(int_4 k,double& tetMin,double& tetMax,double& phiMin,double& phiMax) 
 
 //   Return values of theta,phi which limit the pixel with  index k
@@ -317,5 +317,5 @@
 //++
 template <class T>
-int SphereThetaPhi<T>::NbThetaSlices() const
+int_4 SphereThetaPhi<T>::NbThetaSlices() const
 
 //    Return number of theta-slices on the sphere
@@ -330,5 +330,5 @@
 //++
 template <class T>
-int SphereThetaPhi<T>::NPhi(int kt) const
+int_4 SphereThetaPhi<T>::NPhi(int_4 kt) const
 
 //    Return number of pixels in phi-direction of the kt-th slice
@@ -353,5 +353,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::Theta(int kt,double& tetMin,double& tetMax) 
+void SphereThetaPhi<T>::Theta(int_4 kt,double& tetMin,double& tetMax) 
 
 //    Return  theta values which limit the slice kt
@@ -385,5 +385,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::Phi(int kt,int jp,double& phiMin,double& phiMax) 
+void SphereThetaPhi<T>::Phi(int_4 kt,int_4 jp,double& phiMin,double& phiMax) 
 
 //   Return values of phi which limit the jp-th pixel of the kt-th slice
@@ -416,5 +416,5 @@
 //++
 template <class T>
-int SphereThetaPhi<T>::Index(int kt,int jp) const
+int_4 SphereThetaPhi<T>::Index(int_4 kt,int_4 jp) const
 
 //    Return pixel index  with sequence index jp in the slice kt 
@@ -449,5 +449,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::ThetaPhiIndex(int k,int& kt,int& jp) 
+void SphereThetaPhi<T>::ThetaPhiIndex(int_4 k,int_4& kt,int_4& jp) 
 
 //    Return indices kt (theta) and jp (phi) of  pixel with index k
@@ -477,5 +477,5 @@
 //++
 template <class T>
-void  SphereThetaPhi<T>::Pixelize(int m) 
+void  SphereThetaPhi<T>::Pixelize(int_4 m) 
 
 //    achieve the splitting into pixels (m has the same signification 
@@ -507,9 +507,9 @@
   
   // Le nombre de pixels en phi de chacune des bandes en theta
-  NPhi_ = new int[m];
+  NPhi_ = new int_4[m];
   
   // Le nombre/Deuxpi total des pixels contenus dans les bandes de z superieur a une
   // bande donnee (mTPphi[m] contient le nombre de pixels total de l'hemisphere)
-  TNphi_= new int[m+1];
+  TNphi_= new int_4[m+1];
   
   // Calcul du nombre total de pixels dans chaque bande pour optimiser
@@ -524,5 +524,5 @@
     {
       TNphi_[j]= TNphi_[j-1]+NPhi_[j-1];
-      NPhi_[j] = (int)(.5+4.*(double)(m-.5)*sin(Pi*(double)j/(double)(2.*m-1.))) ;
+      NPhi_[j] = (int_4)(.5+4.*(double)(m-.5)*sin(Pi*(double)j/(double)(2.*m-1.))) ;
     }
   
@@ -556,5 +556,5 @@
 //++
 template <class T>
-void SphereThetaPhi<T>::GetThetaSlice(int index,double& theta, TVector<double>& phi, TVector<T>& value) const 
+void SphereThetaPhi<T>::GetThetaSlice(int_4 index,double& theta, TVector<double>& phi, TVector<T>& value) const 
 
 //    For a theta-slice with index 'index', return : 
@@ -593,23 +593,23 @@
 
 template <class T>
-void SphereThetaPhi<T>::setmNPhi(int* array, int m)
+void SphereThetaPhi<T>::setmNPhi(int_4* array, int_4 m)
   //remplit le tableau contenant le nombre de pixels en phi de chacune des bandes en theta 
   //
 {
-  NPhi_= new int[m];
+  NPhi_= new int_4[m];
   for(int k = 0; k < m; k++) NPhi_[k]= array[k];
 }
 
 template <class T>
-void SphereThetaPhi<T>::setmTNphi(int* array, int m)
+void SphereThetaPhi<T>::setmTNphi(int_4* array, int_4 m)
   //remplit  le tableau contenant le nombre/Deuxpi total des pixels contenus dans les bandes 
   //
 {
-  TNphi_= new int[m];
+  TNphi_= new int_4[m];
   for(int k = 0; k < m; k++) TNphi_[k]= array[k];
 }
 
 template <class T>
-void SphereThetaPhi<T>::setmTheta(double* array, int m)
+void SphereThetaPhi<T>::setmTheta(double* array, int_4 m)
   //remplit  le tableau contenant les valeurs limites de theta
   //
@@ -620,5 +620,5 @@
 
 template <class T>
-void SphereThetaPhi<T>::setDataBlock(T* data, int m)
+void SphereThetaPhi<T>::setDataBlock(T* data, int_4 m)
   // remplit  le vecteur des contenus des pixels 
 {
@@ -743,9 +743,9 @@
     }
 
-  int mNTheta;
+  int_4 mNTheta;
   is.GetI4(mNTheta);  
   dobj->setSizeIndex(mNTheta);
 
-  int mNPix;
+  int_4 mNPix;
   is.GetI4(mNPix);
   dobj->setNbPixels(mNPix);
@@ -755,10 +755,10 @@
   dobj->setPixSolAngle(mOmeg);
 
-  int* mNphi= new int[mNTheta];
+  int_4* mNphi= new int_4[mNTheta];
   is.GetI4s(mNphi, mNTheta);
   dobj->setmNPhi(mNphi, mNTheta);
   delete [] mNphi;
 
-  int* mTNphi= new int[mNTheta+1];
+  int_4* mTNphi= new int_4[mNTheta+1];
   is.GetI4s(mTNphi, mNTheta+1);
   dobj->setmTNphi(mTNphi, mNTheta+1);
@@ -788,6 +788,6 @@
   
   char strg[256];
-  int mNTheta= dobj->SizeIndex();
-  int mNPix  = dobj->NbPixels();
+  int_4 mNTheta= dobj->SizeIndex();
+  int_4 mNPix  = dobj->NbPixels();
  
   if(dobj->ptrInfo()) 
