Ignore:
Timestamp:
Jan 4, 2000, 3:27:29 PM (26 years ago)
Author:
ansari
Message:

mise a jour de persistances par objets delegues

File:
1 edited

Legend:

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

    r699 r701  
    322322//--
    323323{
    324   int nbslices;
    325   nbslices= 2*NTheta_;
    326   return(nbslices);
     324  return( 2*NTheta_);
    327325}
    328326
     
    566564{
    567565
    568   if(index < 0 || index > NbThetaSlices())
     566  if(index < 0 || index >= NbThetaSlices())
    569567    {
    570568      // THROW(out_of_range("SphereThetaPhi::PIxVal Pixel index out of range"));
    571       cout << " SphereThetaPhi::GetThetaSlice : exceptions  a mettre en place" <<endl;
     569      cout << " SphereThetaPhi::GetThetaSlice : Pixel index out of range" <<endl;
    572570      THROW(rangeCheckErr);
    573571    }
    574572
    575573  int iring= Index(index,0);
    576   int bid  = this->NPhi(index);
    577   int lring  = bid;
     574  int lring  = NPhi(index);
    578575
    579576  phi.ReSize(lring);
     
    617614}
    618615
    619 template <class T>
    620 void SphereThetaPhi<T>::setDataBlock(T* data, int_4 m)
    621   // remplit  le vecteur des contenus des pixels
    622 {
    623   pixels_.FillFrom(m,data);
    624 }
    625616
    626617template <class T>
     
    684675{
    685676  dobj= new SphereThetaPhi<T>;
    686   dobj->DataBlock().SetTemp(true);
     677  //  dobj->DataBlock().SetTemp(true);
     678  dobj->pixels_.SetTemp(true);
    687679  ownobj= true;
    688680  Read(filename);
     
    693685{
    694686  dobj= new SphereThetaPhi<T>(obj, true);
    695   dobj->DataBlock().SetTemp(true);
     687  //  dobj->DataBlock().SetTemp(true);
     688  dobj->pixels_.SetTemp(true);
    696689  ownobj= true;
    697690}
     
    723716    {
    724717      dobj= new SphereThetaPhi<T>;
    725       dobj->DataBlock().SetTemp(true);
     718      //      dobj->DataBlock().SetTemp(true);
     719      dobj->pixels_.SetTemp(true);
    726720      ownobj= true;     
    727721    }
    728722
    729723// Let's Read the SphereCoordSys object  -- ATTENTIOn - $CHECK$
    730   SphereCoordSys* cs = dynamic_cast<SphereCoordSys*>(is.ReadObject());
    731   dobj->SetCoordSys(cs);
     724  FIO_SphereCoordSys fio_scs( dobj->GetCoordSys());
     725  fio_scs.Read(is);
    732726
    733727  // Pour savoir s'il y avait un DVList Info associe
     
    743737  int_4 mNTheta;
    744738  is.GetI4(mNTheta); 
    745   dobj->setSizeIndex(mNTheta);
    746 
    747739  int_4 mNPix;
    748740  is.GetI4(mNPix);
    749   dobj->setNbPixels(mNPix);
    750 
    751741  double mOmeg;
    752742  is.GetR8(mOmeg);
    753   dobj->setPixSolAngle(mOmeg);
     743  dobj->setParameters(mNPix, mOmeg, mNTheta);
    754744
    755745  int_4* mNphi= new int_4[mNTheta];
     
    769759
    770760// On lit le DataBlock;
    771   is >> dobj->DataBlock();
     761  //FIO_NDataBlock<T> fio_nd(&dobj->DataBlock());
     762FIO_NDataBlock<T> fio_nd(&dobj->pixels_);
     763fio_nd.Read(is);
     764//  is >> dobj->DataBlock();
    772765}
    773766
     
    783776
    784777// Let's write the SphereCoordSys object
    785   dobj->GetCoordSys()->Write(os);
     778  FIO_SphereCoordSys fio_scs( dobj->GetCoordSys());
     779  fio_scs.Write(os);
    786780 
    787781  char strg[256];
     
    803797  os.PutI4(mNTheta); 
    804798  os.PutI4(mNPix);
    805   os.PutR8(dobj->PixSolAngle(0));
     799  os.PutR8(dobj->PixSolAngle());
    806800  os.PutI4s(dobj->getmNPhi() , mNTheta);
    807801  os.PutI4s(dobj->getmTNphi(), mNTheta+1);
    808802  os.PutR8s(dobj->getmTheta(), mNTheta+1);
    809803// On ecrit le datablock
    810   os << dobj->DataBlock();
     804  //FIO_NDataBlock<T> fio_nd(&dobj->DataBlock());
     805FIO_NDataBlock<T> fio_nd(&dobj->pixels_);
     806fio_nd.Write(os);
     807//  os << dobj->DataBlock();
    811808}
    812809
Note: See TracChangeset for help on using the changeset viewer.