source: Sophya/trunk/SophyaExt/FitsIOServer/fitsspherehealpix.h@ 3072

Last change on this file since 3072 was 3047, checked in by ansari, 19 years ago

Ajout FitsInOutFile::SkipEmptyFirstHDU() , positionnement sur HDU 2 si HDU 1 vide ds operateur >> lisant des tables + autres petites corrections , Reza 11/08/2006

File size: 1.8 KB
Line 
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
12namespace SOPHYA {
13///////////////////////////////////////////////////////////////////////
14// ------------- Classe pour la gestion de persistance I/O format fits--
15// spherehealpix
16//////////////////////////////////////////////////////////////////////
17template <class T>
18class FITS_SphereHEALPix : public FitsIOHandler
19{
20public:
21
22FITS_SphereHEALPix();
23FITS_SphereHEALPix(char inputfile[],int hdunum=0);
24FITS_SphereHEALPix(const SphereHEALPix<T>& obj);
25FITS_SphereHEALPix(SphereHEALPix<T>* obj);
26virtual ~FITS_SphereHEALPix();
27virtual AnyDataObj* DataObj();
28virtual void SetDataObj(AnyDataObj & o);
29
30virtual int CheckHandling(AnyDataObj & o) ;
31virtual int CheckReadability(FitsInOutFile& is);
32virtual FitsHandlerInterface* Clone();
33
34void Mollweide_picture_projection(char flnm[]);
35void sinus_picture_projection(char flnm[]);
36//void ReWriteFromFitsToFits(FitsInFile& headerin, FitsOutFile& os);
37
38inline operator SphereHEALPix<T>() { return(*dobj_); }
39
40protected:
41
42//virtual void ReadFromFits(FitsFile& fn);
43virtual void ReadFromFits(FitsInFile& is);
44virtual void WriteToFits(FitsOutFile& os) ;
45SphereHEALPix<T>* dobj_;
46bool ownobj_;
47};
48
49
50//////////////////////////////////////////////////////////////////
51
52template <class T>
53inline FitsInOutFile& operator << (FitsInOutFile& fios, SphereHEALPix<T> & sph)
54 { FITS_SphereHEALPix<T> fih(&sph); fih.Write(fios); return (fios); }
55
56template <class T>
57inline FitsInOutFile& operator >> (FitsInOutFile& fiis, SphereHEALPix<T> & sph)
58 { FITS_SphereHEALPix<T> fih(&sph); fiis.SkipEmptyFirstHDU();
59 fih.Read(fiis); fiis.MoveToNextHDU(); return (fiis); }
60
61
62} // Fin du namespace
63
64#endif
Note: See TracBrowser for help on using the repository browser.