Changeset 604 in Sophya for trunk


Ignore:
Timestamp:
Nov 20, 1999, 9:39:49 PM (26 years ago)
Author:
ansari
Message:

Bugs InitNul et autres - Reza 20/11/99

Location:
trunk/SophyaLib/Samba
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Samba/localmap.cc

    r574 r604  
    9090{
    9191  InitNul();
     92  pixels_.Reset();
    9293}
    9394
     
    417418  cos_angle_= 1.0;
    418419  sin_angle_= 0.0;
    419   pixels_.Reset();
     420//  pixels_.Reset(); Pas de reset par InitNul (en cas de share) - Reza 20/11/99 $CHECK$
    420421}
    421422
     
    589590{
    590591  dobj= new LocalMap<T>;
     592  dobj->DataBlock().SetTemp(true);
    591593  ownobj= true;
    592594  Read(filename);
     
    600602{
    601603  dobj= new LocalMap<T>(obj, true);
     604  dobj->DataBlock().SetTemp(true);
    602605  ownobj= true;
    603606}
     
    637640    {
    638641      dobj= new LocalMap<T>;
     642      dobj->DataBlock().SetTemp(true);
     643      ownobj= true;
    639644    }
    640645
     
    682687    }
    683688
    684   T* pixels= new T[nPix];
    685   PIOSReadArray(is, pixels, nPix);
    686   dobj->setDataBlock(pixels, nPix);
    687   delete [] pixels;
     689// On lit le DataBlock;
     690  is >> dobj->DataBlock();
    688691}
    689692
     
    745748    }
    746749
    747   PIOSWriteArray(os,(dobj->getDataBlock())->Data(), nPix);
    748 }
    749 
     750// On ecrit le dataBlock
     751  os << dobj->DataBlock();
     752}
     753
  • trunk/SophyaLib/Samba/localmap.h

    r592 r604  
    156156inline void setDataBlock(T* data, int n) {pixels_.FillFrom(n,data);}
    157157
     158/*  Acces to the DataBlock  */
     159inline       NDataBlock<T>& DataBlock()       {return pixels_;}
     160inline const NDataBlock<T>& DataBlock() const {return pixels_;}
     161
    158162/* impression */
    159163void print(ostream& os) const;
  • trunk/SophyaLib/Samba/spheregorski.cc

    r574 r604  
     1#include "machdefs.h"
     2#include <math.h>
     3#include <complex>
     4
     5#include "pexceptions.h"
    16#include "spheregorski.h"
    27#include "strutil.h"
    3 #include <math.h>
    4 #include <complex>
    5 #include "piocmplx.h"
    68
    79extern "C"
     
    179181{
    180182  InitNul();
     183  pixels_.Reset();
    181184}
    182185
     
    196199    {
    197200      cout << "SphereGorski : m hors bornes [0,8192], m= " << m << endl;
    198       exit(1);
     201      throw RangeCheckError("SphereGorski<T>::SphereGorski() - Out of bound nside (< 8192)!");
    199202    }
    200203  // verifier que m est une puissance de deux
     
    204207    { 
    205208      cout<<"SphereGorski: m doit etre une puissance de deux, m= "<<m<<endl;
    206       exit(1);
     209      throw ParmError("SphereGorski<T>::SphereGorski() - nside != 2^n !");
    207210    }
    208211  InitNul();
     
    233236//--
    234237{
    235   InitNul();
     238//  InitNul();  - Non , le destructeur ne doit pas mettre les pixels a zero !
     239//              Reza 20/11/99
    236240}
    237241
     
    303307  nPix_ = 0;
    304308  omeg_ = 0.;
    305   pixels_.Reset();
    306 
     309//  pixels_.Reset();  -  Il ne faut pas mettre les pixels a zero si share !
    307310}
    308311
     
    11141117{
    11151118  dobj= new SphereGorski<T>;
     1119  dobj->DataBlock().SetTemp(true);
    11161120  ownobj= true;
    11171121  Read(filename);
     
    11221126{
    11231127  dobj= new SphereGorski<T>(obj, true);
     1128  dobj->DataBlock().SetTemp(true);
    11241129  ownobj= true;
    11251130}
     
    11511156    {
    11521157      dobj= new SphereGorski<T>;
     1158      dobj->DataBlock().SetTemp(true);
     1159      ownobj= true;     
    11531160    }
    11541161
     
    11791186  dobj->setPixSolAngle(Omega);
    11801187
    1181   T* pixels= new T[nPix];
    1182   PIOSReadArray(is, pixels, nPix);
    1183   dobj->setDataBlock(pixels, nPix);
    1184   delete [] pixels;
    1185 
     1188// On lit le DataBlock;
     1189  is >> dobj->DataBlock();
    11861190}
    11871191
     
    12181222  os.PutI4(nPix);
    12191223  os.PutR8(dobj->PixSolAngle(0));
    1220 
    1221   PIOSWriteArray(os,(dobj->getDataBlock())->Data(), nPix);
    1222 
    1223 
     1224// On ecrit le dataBlock
     1225  os << dobj->DataBlock();
    12241226}
    12251227
  • trunk/SophyaLib/Samba/spheregorski.h

    r592 r604  
    168168inline void setDataBlock(T* data,int m) { pixels_.FillFrom(m,data); }
    169169
     170/*  Acces to the DataBlock  */
     171inline       NDataBlock<T>& DataBlock()       {return pixels_;}
     172inline const NDataBlock<T>& DataBlock() const {return pixels_;}
     173
    170174
    171175
  • trunk/SophyaLib/Samba/spherethetaphi.cc

    r574 r604  
    4242{
    4343  InitNul();
     44  pixels_.Reset();
    4445}
    4546
     
    7980  TNphi_[NTheta_]= s.TNphi_[NTheta_];
    8081  Omega_ = s.Omega_;
    81   pixels_= s.pixels_;
    8282}
    8383
     
    107107  NPhi_  = NULL;
    108108  TNphi_ = NULL;
    109   pixels_.Reset();
     109//  pixels_.Reset();  Pas de reset par InitNul (en cas de share) - Reza 20/11/99 $CHECK$
    110110}
    111111
     
    686686{
    687687  dobj= new SphereThetaPhi<T>;
     688  dobj->DataBlock().SetTemp(true);
    688689  ownobj= true;
    689690  Read(filename);
     
    694695{
    695696  dobj= new SphereThetaPhi<T>(obj, true);
     697  dobj->DataBlock().SetTemp(true);
    696698  ownobj= true;
    697699}
     
    723725    {
    724726      dobj= new SphereThetaPhi<T>;
     727      dobj->DataBlock().SetTemp(true);
     728      ownobj= true;     
    725729    }
    726730
     
    766770  delete [] mTheta;
    767771
    768   T* mPixels= new T[mNPix];
    769   PIOSReadArray(is, mPixels, mNPix);
    770   dobj->setDataBlock(mPixels, mNPix);
    771   delete [] mPixels;
     772// On lit le DataBlock;
     773  is >> dobj->DataBlock();
    772774}
    773775
     
    807809  os.PutI4s(dobj->getmTNphi(), mNTheta+1);
    808810  os.PutR8s(dobj->getmTheta(), mNTheta+1);
    809   //os.Put((dobj->getDataBlock())->Data(), mNPix);
    810   PIOSWriteArray(os,(dobj->getDataBlock())->Data(), mNPix);
     811// On ecrit le datablock
     812  os << dobj->DataBlock();
    811813}
    812814
  • trunk/SophyaLib/Samba/spherethetaphi.h

    r592 r604  
    149149void setDataBlock(T* data, int m);
    150150
     151/*  Acces to the DataBlock  */
     152inline       NDataBlock<T>& DataBlock()       {return pixels_;}
     153inline const NDataBlock<T>& DataBlock() const {return pixels_;}
     154
    151155/* impression */
    152156void print(ostream& os) const;
Note: See TracChangeset for help on using the changeset viewer.