source: Sophya/trunk/SophyaExt/FitsIOServer/fbtntintf.h@ 3049

Last change on this file since 3049 was 2683, checked in by ansari, 20 years ago

Adaptation au changement de int par sa_size_t ds la classe interface NTuple NTupInterface - Reza 21/4/2005

File size: 1.6 KB
Line 
1/* Interface Fits BINARY/ASCII Table cmv 21/05/2001 */
2#ifndef FBTNTINTF_H_SEEN
3#define FBTNTINTF_H_SEEN
4
5#include "machdefs.h"
6#include <iostream>
7#include <string.h>
8#include <string>
9
10#include "anydataobj.h"
11#include "ntupintf.h"
12#include "FitsIO/fitsio.h"
13
14#include <vector>
15
16namespace SOPHYA {
17
18class FitsBTNtuIntf : public AnyDataObj, public NTupleInterface {
19public:
20 FitsBTNtuIntf(string fname,int ihdu=0,int_4 blen=100,int_4 bsens=1,uint_2 lp=0);
21 FitsBTNtuIntf(char *cfname,int ihdu=0,int_4 blen=100,int_4 bsens=1,uint_2 lp=0);
22 FitsBTNtuIntf(FitsBTNtuIntf& fbtnt);
23 FitsBTNtuIntf();
24 virtual ~FitsBTNtuIntf();
25
26 void SetNulVal(r_8 nulval=0.) {NulVal = nulval;}
27 void ChangeBuffer(int_4 blen,int_4 bsens=1);
28 virtual void Print(ostream& os,int lp=1) const;
29 inline void Print(int lp=1) const {Print(cout,lp);}
30
31 virtual sa_size_t NbLines() const ;
32 virtual sa_size_t NbColumns() const ;
33 virtual r_8 * GetLineD(sa_size_t n) const ;
34 virtual r_8 GetCell( sa_size_t n, sa_size_t k) const ;
35 virtual string VarList_C(const char* nomx=NULL) const ;
36
37protected:
38 inline void SetBuffer(int_4 blen=100,int_4 bsens=1)
39 {BuffLen = (blen<=0)?1:blen; BuffSens = bsens;}
40 void DeAllocBuff(void);
41 void AllocBuff(void);
42 void Init(void);
43 void Delete(void);
44 void printerror(int sta) const;
45
46 string FitsFN;
47 int IHdu;
48 uint_2 DbgLevel;
49 fitsfile *FitsPtr;
50 long NBline;
51 int NBcol;
52 r_8 NulVal;
53 int_4 BuffLen, BuffSens;
54 mutable uint_4 NFitsRead;
55 mutable long LineDeb, LineFin;
56 vector<string> ColName;
57 bool* ColReadable;
58 double **Buffer;
59 mutable r_8 * mRet;
60};
61
62} // namespace SOPHYA
63#endif /* FBTNTINTF_H_SEEN */
Note: See TracBrowser for help on using the repository browser.