// G. Le Meur 04/2000 #ifndef FIOSPHERETHETAPHI_SEEN #define FIOSPHERETHETAPHI_SEEN #include "sphericalmap.h" #include "tvector.h" #include "ndatablock.h" #include "spherethetaphi.h" #include "anydataobj.h" #include "ppersist.h" // // ------------- Classes pour la gestion de persistance -- // namespace SOPHYA { template class FIO_SphereThetaPhi : public PPersist { public: FIO_SphereThetaPhi(); FIO_SphereThetaPhi(string const & filename); FIO_SphereThetaPhi(const SphereThetaPhi& obj); FIO_SphereThetaPhi(SphereThetaPhi* obj); virtual ~FIO_SphereThetaPhi(); virtual AnyDataObj* DataObj(); void SetDataObj(AnyDataObj & o); inline operator SphereThetaPhi() { return(*dobj); } protected : virtual void ReadSelf(PInPersist&); virtual void WriteSelf(POutPersist&) const; SphereThetaPhi* dobj; bool ownobj; }; /*! \ingroup SkyMap \fn operator<<(POutPersist&,SphereThetaPhi&) \brief Write SphereThetaPhi \b obj into POutPersist stream \b os */ template inline POutPersist& operator << (POutPersist& os, SphereThetaPhi & obj) { FIO_SphereThetaPhi fio(&obj); fio.Write(os); return(os); } /*! \ingroup SkyMap \fn operator>>(PInPersist&,SphereThetaPhi&) \brief Read SphereThetaPhi \b obj from PInPersist stream \b os */ template inline PInPersist& operator >> (PInPersist& is, SphereThetaPhi & obj) { FIO_SphereThetaPhi fio(&obj); is.SkipToNextObject(); fio.Read(is); return(is); } } // Fin du namespace #endif