00001 #ifndef DaqSource_DTROS25FileReader_h 00002 #define DaqSource_DTROS25FileReader_h 00003 00012 #include <IORawData/DaqSource/interface/DaqBaseReader.h> 00013 #include <IORawData/DTCommissioning/src/RawFile.h> 00014 #include "DataFormats/Provenance/interface/EventID.h" 00015 00016 #include <ostream> 00017 #include <fstream> 00018 #include <boost/cstdint.hpp> 00019 00020 class DTROS25FileReader : public DaqBaseReader { 00021 public: 00023 DTROS25FileReader(const edm::ParameterSet& pset); 00024 00026 virtual ~DTROS25FileReader(); 00027 00029 virtual int fillRawData(edm::EventID& eID, 00030 edm::Timestamp& tstamp, 00031 FEDRawDataCollection*& data); 00032 00033 00035 bool isHeader(uint32_t word); 00036 00038 bool isTrailer(uint32_t word); 00039 00041 void swap(uint32_t & word); 00042 00043 00044 virtual bool checkEndOfFile(); 00045 00046 private: 00047 00048 00049 RawFile inputFile; 00050 00051 edm::RunNumber_t runNumber; 00052 edm::EventNumber_t eventNumber; 00053 00054 static const int rosWordLenght = 4; 00055 00056 }; 00057 #endif 00058 00059 00060