Ignore:
Timestamp:
Aug 24, 2000, 12:18:02 PM (25 years ago)
Author:
ansari
Message:

structuration a la ppersist+ convention sur hdu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/FitsIOServer/fitstarray.cc

    r1047 r1136  
    1212FITS_TArray<T>::FITS_TArray()
    1313{
    14   dobj_=new TArray<T>;
    15   ownobj=true;
     14  dobj_= NULL;
     15  ownobj_=false;
    1616}
    1717
     
    1919FITS_TArray<T>::FITS_TArray(char inputfile[],int hdunum)
    2020{
    21   dobj_=new TArray<T>;
    22   ownobj=true;
    23   ReadF(inputfile,hdunum);
     21  dobj_=NULL;
     22  ownobj_=false;
     23  Read(inputfile,hdunum);
    2424}
    2525
     
    2727FITS_TArray<T>::FITS_TArray(const TArray<T> & obj)
    2828{
    29   dobj_ = new TArray<T>(obj);
    30   ownobj=true;
     29    dobj_ = new TArray<T>(obj);
     30  ownobj_=true;
    3131}
    3232
     
    3535{
    3636  dobj_ = obj;
    37   ownobj=false;
     37  ownobj_=false;
    3838}
    3939
     
    4242FITS_TArray<T>::~FITS_TArray()
    4343{
    44   if (ownobj && dobj_) delete dobj_;
     44  if (ownobj_ && dobj_) delete dobj_;
    4545}
    46 
    47 template <class T>
    48 void FITS_TArray<T>::Write(char outputfile[], bool OldFile)
    49 {
    50   WriteF(outputfile, OldFile);
    51 }
    52 
    5346
    5447
     
    5952}
    6053
     54
    6155template <class T>
    62 void FITS_TArray<T>::ReadFromFits()
     56void   FITS_TArray<T>::SetDataObj(AnyDataObj & o)
     57  {   
     58    TArray<T>* po = dynamic_cast<  TArray<T>* >(& o);
     59    if (po == NULL) return;
     60    if (ownobj_ && dobj_) delete dobj_; 
     61    dobj_ = po;
     62    ownobj_ = false;
     63  }   
     64
     65
     66
     67template <class T>
     68void FITS_TArray<T>::ReadFromFits(FitsInFile& is)
    6369{
    64 
    65   //  if (!fn.IsFitsImage())
    66   if (!IsFitsImage())
     70  if (!is.IsFitsImage())
    6771    {
    6872      throw PException("ReadFromFits: the fits file seems not to be an image");
    6973    }
    70   //  int dimension = fn.nbDimOfImage();
    71   int dimension = nbDimOfImage();
     74  int dimension = is.nbDimOfImage();
    7275  cout << " dimension de l'image a lire: " << dimension << endl;
    7376   
    7477  uint_4* siz = new uint_4[dimension];
    75   //  for (int k=0; k< dimension; k++) siz[k] = fn.dimOfImageAxes()[k];
    76   for (int k=0; k< dimension; k++) siz[k] = dimOfImageAxes()[k];
     78  for (int k=0; k< dimension; k++) siz[k] = is.dimOfImageAxes()[k];
    7779  if(dobj_ == NULL)
    78     dobj_ = new TArray<T>(dimension,siz);
     80    {
     81      dobj_ = new TArray<T>(dimension,siz);
     82      ownobj_ = true;
     83    }
    7984  else
    8085    dobj_->ReSize(dimension,siz);
    8186 
    8287  delete [] siz;
    83   //  if (dobj_->Size() != fn.nbOfImageData() )
    84   if (dobj_->Size() != nbOfImageData() )
     88  if (dobj_->Size() != is.nbOfImageData() )
    8589  {
    8690    cout << " total size of TArray: " << dobj_->Size() << endl;
    87     cout << " total size from fits file: " << nbOfImageData() << endl;
     91    cout << " total size from fits file: " << is.nbOfImageData() << endl;
    8892      throw PException("ReadFromFits: size conflict");
    8993  }
    9094  // On lit le tableau
    91   //  fn.GetSingleColumn( dobj_->Data(),dobj_->Size());
    92   GetSingleColumn( dobj_->Data(),dobj_->Size());
     95  is.GetSingleColumn( dobj_->Data(),dobj_->Size());
    9396
    9497}
    9598
    9699
    97   template <class T>
    98 void FITS_TArray<T>::WriteToFits(
     100template <class T>
     101void FITS_TArray<T>::WriteToFits(FitsOutFile& os
    99102{
    100103  if(dobj_ == NULL) return;
     
    130133    }
    131134  cout << " nombre total d'elements a copier " << nbels << endl;
    132   //  fn.makeHeaderImageOnFits(type, nbdim, naxisn);
    133   makeHeaderImageOnFits(type, nbdim, naxisn);
     135  os.makeHeaderImageOnFits(type, nbdim, naxisn);
    134136  if (!dobj_->IsPacked())
    135137    {
     
    144146     
    145147    }
    146   //  fn.putImageToFits(nbels, dobj_->Data());
    147   putImageToFits(nbels, dobj_->Data());
     148  os.putImageToFits(nbels, dobj_->Data());
    148149 
    149150  delete [] naxisn;
Note: See TracChangeset for help on using the changeset viewer.