[854] | 1 | #ifndef FITSSPHEREHEALPIX_SEEN
|
---|
| 2 | #define FITSSPHEREHEALPIX_SEEN
|
---|
| 3 |
|
---|
| 4 |
|
---|
| 5 | // Guy Le Meur 03/2000
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | #include "spherehealpix.h"
|
---|
| 9 | #include "anydataobj.h"
|
---|
| 10 | #include "fitsfile.h"
|
---|
| 11 |
|
---|
| 12 | namespace SOPHYA {
|
---|
| 13 | ///////////////////////////////////////////////////////////////////////
|
---|
| 14 | // ------------- Classe pour la gestion de persistance I/O format fits--
|
---|
| 15 | // spherehealpix
|
---|
| 16 | //////////////////////////////////////////////////////////////////////
|
---|
| 17 | template <class T>
|
---|
[1136] | 18 | class FITS_SphereHEALPix : public FitsIOHandler
|
---|
[854] | 19 | {
|
---|
| 20 | public:
|
---|
| 21 |
|
---|
| 22 | FITS_SphereHEALPix();
|
---|
[1174] | 23 | FITS_SphereHEALPix(char inputfile[],int hdunum=0);
|
---|
[854] | 24 | FITS_SphereHEALPix(const SphereHEALPix<T>& obj);
|
---|
| 25 | FITS_SphereHEALPix(SphereHEALPix<T>* obj);
|
---|
| 26 | virtual ~FITS_SphereHEALPix();
|
---|
| 27 | virtual AnyDataObj* DataObj();
|
---|
[921] | 28 | virtual void SetDataObj(AnyDataObj & o);
|
---|
[854] | 29 |
|
---|
[2897] | 30 | virtual int CheckHandling(AnyDataObj & o) ;
|
---|
| 31 | virtual int CheckReadability(FitsInOutFile& is);
|
---|
| 32 | virtual FitsHandlerInterface* Clone();
|
---|
| 33 |
|
---|
[1176] | 34 | void Mollweide_picture_projection(char flnm[]);
|
---|
| 35 | void sinus_picture_projection(char flnm[]);
|
---|
[1752] | 36 | //void ReWriteFromFitsToFits(FitsInFile& headerin, FitsOutFile& os);
|
---|
[1176] | 37 |
|
---|
[1011] | 38 | inline operator SphereHEALPix<T>() { return(*dobj_); }
|
---|
[854] | 39 |
|
---|
| 40 | protected:
|
---|
| 41 |
|
---|
[1047] | 42 | //virtual void ReadFromFits(FitsFile& fn);
|
---|
[1136] | 43 | virtual void ReadFromFits(FitsInFile& is);
|
---|
| 44 | virtual void WriteToFits(FitsOutFile& os) ;
|
---|
[854] | 45 | SphereHEALPix<T>* dobj_;
|
---|
[1136] | 46 | bool ownobj_;
|
---|
[854] | 47 | };
|
---|
| 48 |
|
---|
| 49 |
|
---|
| 50 | //////////////////////////////////////////////////////////////////
|
---|
| 51 |
|
---|
[1231] | 52 | template <class T>
|
---|
[3035] | 53 | inline FitsInOutFile& operator << (FitsInOutFile& fios, SphereHEALPix<T> & sph)
|
---|
[1231] | 54 | { FITS_SphereHEALPix<T> fih(&sph); fih.Write(fios); return (fios); }
|
---|
[854] | 55 |
|
---|
[1231] | 56 | template <class T>
|
---|
[3035] | 57 | inline FitsInOutFile& operator >> (FitsInOutFile& fiis, SphereHEALPix<T> & sph)
|
---|
[3047] | 58 | { FITS_SphereHEALPix<T> fih(&sph); fiis.SkipEmptyFirstHDU();
|
---|
| 59 | fih.Read(fiis); fiis.MoveToNextHDU(); return (fiis); }
|
---|
[1231] | 60 |
|
---|
| 61 |
|
---|
[854] | 62 | } // Fin du namespace
|
---|
| 63 |
|
---|
| 64 | #endif
|
---|