CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/CalibCalorimetry/EcalLaserSorting/interface/WatcherStreamFileReader.h

Go to the documentation of this file.
00001 #ifndef IOPool_Streamer_StreamerFileReader_h
00002 #define IOPool_Streamer_StreamerFileReader_h
00003 
00004 #include "IOPool/Streamer/interface/InitMessage.h"
00005 #include "IOPool/Streamer/interface/EventMessage.h"
00006 
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 #include <string>
00010 #include <iostream>
00011 #include <deque>
00012 
00022 namespace edm{
00023   class StreamerInputFile;
00024 }
00025 
00026 class WatcherStreamFileReader{
00027 public:
00028   WatcherStreamFileReader(edm::ParameterSet const& pset);
00029   ~WatcherStreamFileReader();
00030 
00031   const InitMsgView* getHeader(); 
00032   const EventMsgView* getNextEvent();
00033   const bool newHeader(); 
00034 
00035   edm::StreamerInputFile* getInputFile();
00036 
00037   void closeFile();
00038   
00039 private:
00042   std::string inputDir_;
00043   
00046   std::vector<std::string> filePatterns_; 
00047 
00050   std::string inprocessDir_;
00051 
00052 
00055   std::string processedDir_;
00056 
00059   std::string corruptedDir_;
00060   
00063   std::auto_ptr<edm::StreamerInputFile> streamerInputFile_;
00064 
00065   static std::string fileName_;
00066 
00067   std::string tokenFile_;
00068 
00069   int timeOut_;
00070   
00071   std::deque<std::string> filesInQueue_;
00072 
00073   bool end_;
00074   
00075   int verbosity_;
00076 
00077 };
00078 
00079 #endif
00080