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

Last change on this file since 3056 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
RevLine 
[1505]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"
[2322]6#include <iostream>
[1505]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:
[1646]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);
[1507]22 FitsBTNtuIntf(FitsBTNtuIntf& fbtnt);
[1646]23 FitsBTNtuIntf();
[1505]24 virtual ~FitsBTNtuIntf();
25
26 void SetNulVal(r_8 nulval=0.) {NulVal = nulval;}
[1507]27 void ChangeBuffer(int_4 blen,int_4 bsens=1);
[1505]28 virtual void Print(ostream& os,int lp=1) const;
29 inline void Print(int lp=1) const {Print(cout,lp);}
30
[2683]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 ;
[1505]35 virtual string VarList_C(const char* nomx=NULL) const ;
36
37protected:
[1507]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);
[1505]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;
[1507]53 int_4 BuffLen, BuffSens;
[1505]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.