00001 #ifndef FileReaderSPNewFormat_h 00002 #define FileReaderSPNewFormat_h 00003 00004 #include <queue> 00005 #include <IORawData/CSCTFCommissioning/src/SPReader.h> 00006 using namespace std; 00007 00008 class FileReaderSPNewFormat : public SPReader 00009 { 00010 public: 00011 FileReaderSPNewFormat(); 00012 virtual ~FileReaderSPNewFormat() {} 00013 // DDUReader interface 00014 virtual void Configure(); 00015 virtual int reset() {return 0;} 00016 virtual int enableBlock() {return 0;} 00017 virtual int disableBlock() {return 0;} 00018 virtual int endBlockRead() {return 0;} 00019 virtual int readSP(unsigned short **buf, const bool debug = false); 00020 00021 protected: 00022 virtual int chunkSize(); 00023 00024 bool hasTrailer(const unsigned short*, unsigned length); 00025 bool isTrailer1(const unsigned short*); 00026 bool isTrailer2(const unsigned short*); 00027 00028 unsigned findTrailer1(const unsigned short*, unsigned length); 00029 unsigned findTrailer2(const unsigned short*, unsigned length); 00030 00031 unsigned pointer; 00032 00033 unsigned short trailer[8]; 00034 unsigned short header[8]; 00035 }; 00036 00037 #endif