// This may look like C code, but it is really -*- C++ -*- // ArchTOIPipe (C) CEA/DAPNIA/SPP IN2P3/LAL // Eric Aubourg // Christophe Magneville // Reza Ansari // $Id: fitstoirdr.h,v 1.10 2001-11-27 12:13:41 aubourg Exp $ #ifndef FITSTOIRDR_H #define FITSTOIRDR_H #include "config.h" #include "toiprocessor.h" #include #include #include #include "fitsio.h" class FITSTOIReader : public TOIProcessor { public: FITSTOIReader(string fn,int buff_sz=1000); ~FITSTOIReader(); void setImplicitSN(int snStart=0); virtual void addFile(string fn); virtual void init(); virtual void run(); inline int_8 ProcessedSampleCount() const { return totnscount; } protected: virtual int calcMinOut(); virtual int calcMaxOut(); virtual void run1(); virtual void run2(); virtual void openFile(string fn); private: fitsfile* fptr; int fstatus; string fname; // current file long nrows; // current file int firstSn; // current file int Buff_Sz; // buffer size int ncols; // including flags. getNOut() is # of tois. int snBegin; // first file int snEnd; // last file bool implicitSN; int implicitSNStart; vector allfn; map > colsinput; // iTOI -> (colonne, hasflag) // le flag est alors en colonne+1 int_8 totnscount; // Nombre total d'echantillon processe }; #endif