/* --- SOPHYA software - FitsIOServer module --- Guy Le Meur 10/2001 R. Ansari , 2006 (C) UPS+LAL IN2P3/CNRS (C) DAPNIA-SPP/CEA */ #ifndef FITSSPHERETHETAPHI_SEEN #define FITSSPHERETHETAPHI_SEEN #include "spherethetaphi.h" #include "anydataobj.h" #include "fitsfile.h" namespace SOPHYA { /////////////////////////////////////////////////////////////////////// // ------------- Classe pour la gestion de persistance I/O format fits-- // spherethetaphi ////////////////////////////////////////////////////////////////////// template class FITS_SphereThetaPhi : public FitsIOHandler { public: FITS_SphereThetaPhi(); FITS_SphereThetaPhi(const char inputfile[],int hdunum=0); FITS_SphereThetaPhi(const SphereThetaPhi& obj); FITS_SphereThetaPhi(SphereThetaPhi* obj); virtual ~FITS_SphereThetaPhi(); virtual AnyDataObj* DataObj(); virtual void SetDataObj(AnyDataObj & o); virtual int CheckHandling(AnyDataObj & o) ; virtual int CheckReadability(FitsInOutFile& is); virtual FitsHandlerInterface* Clone(); void Mollweide_picture_projection(const char flnm[]); void sinus_picture_projection(const char flnm[]); inline operator SphereThetaPhi() { return(*dobj_); } protected: virtual void ReadFromFits(FitsInFile& is); virtual void WriteToFits(FitsOutFile& os) ; SphereThetaPhi* dobj_; bool ownobj_; }; ////////////////////////////////////////////////////////////////// template inline FitsInOutFile& operator << (FitsInOutFile& fios, SphereThetaPhi & sph) { FITS_SphereThetaPhi fih(&sph); fih.Write(fios); return (fios); } template inline FitsInOutFile& operator >> (FitsInOutFile& fiis, SphereThetaPhi & sph) { FITS_SphereThetaPhi fih(&sph); fiis.SkipEmptyFirstHDU(); fih.Read(fiis); fiis.MoveToNextHDU(); return (fiis); } } // Fin du namespace #endif