source: Sophya/trunk/SophyaExt/FitsIOServer/fitsautoreader.h@ 3067

Last change on this file since 3067 was 2130, checked in by lemeur, 23 years ago

ouverture FitsBTNtuIntf au lieu de XNTUPLE pour grose BINTABLE

File size: 1.7 KB
Line 
1#ifndef FITSAUTOREADER_SEEN
2#define FITSAUTOREADER_SEEN
3
4
5// Guy Le Meur 11/2000
6
7#include "machdefs.h"
8#include "anydataobj.h"
9#include "fitsfile.h"
10#include "fitstarray.h"
11#include "fitsspherehealpix.h"
12#include "fitsntuple.h"
13#include "fitsxntuple.h"
14#include "fitslocalmap.h"
15#include "fbtntintf.h"
16
17namespace SOPHYA {
18///////////////////////////////////////////////////////////////////////
19// ------------- Classe pour la gestion de persistance I/O format fits--
20// des objets
21//////////////////////////////////////////////////////////////////////
22
23
24class FITS_AutoReader
25{
26public:
27
28FITS_AutoReader();
29FITS_AutoReader(const char inputfile[]);
30FITS_AutoReader(string const & inputfile);
31virtual ~FITS_AutoReader();
32 int NbBlocks();
33
34 // parametre toutCharger : uniquement pour les BINTABLE et s'il ne
35 // s'agit pas explicitement d'un objet SOPHYA, on charge toute la
36 // table en memoire sous forme d'un xntuple si toutCharger= true.
37 // et si le nombre d'entrees est superieur a 1000.
38 // sinon (c-a-d : il ne s'agit pas d'un objet connu de SOPHYA
39 // c'est une BINTABLE avec plus de 1000 entrees
40 // totuCharger = false)
41 // on ouvre une FitsBTNtuIntf (lecture ulterieure, bufferisee, des valeurs)
42AnyDataObj* ReadObject(int hdunum, bool toutCharger = false) const;
43
44
45private :
46
47AnyDataObj* newTArray() const;
48AnyDataObj* newSphereHEALPix() const;
49AnyDataObj* newLocalMap() const;
50NTuple* newNTuple() const;
51XNTuple* newXNTuple() const;
52 FitsBTNtuIntf* newFitsBTNtuIntf(int hdunum) const;
53inline void InitNull()
54 {
55 inFits_ = NULL;
56 dobj_ = NULL;
57 ownobj_ = false;
58 }
59
60
61 string filename_;
62FitsInFile* inFits_;
63AnyDataObj* dobj_;
64bool ownobj_;
65
66};
67} // Fin du namespace
68
69#endif
Note: See TracBrowser for help on using the repository browser.