File indexing completed on 2024-05-31 04:19:06
0001 #ifndef CalibCalorimetry_EcalLaserSorting_WatcherStreamFileReader_h
0002 #define CalibCalorimetry_EcalLaserSorting_WatcherStreamFileReader_h
0003
0004 #include "IOPool/Streamer/interface/InitMessage.h"
0005 #include "IOPool/Streamer/interface/EventMessage.h"
0006
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008
0009 #include <string>
0010 #include <iostream>
0011 #include <deque>
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 namespace edm::streamer {
0023 class StreamerInputFile;
0024 }
0025
0026 class WatcherStreamFileReader {
0027 public:
0028 WatcherStreamFileReader(edm::ParameterSet const& pset);
0029 ~WatcherStreamFileReader();
0030
0031 const edm::streamer::InitMsgView* getHeader();
0032 const edm::streamer::EventMsgView* getNextEvent();
0033 const bool newHeader();
0034
0035 edm::streamer::StreamerInputFile* getInputFile();
0036
0037 void closeFile();
0038
0039 private:
0040 void moveJustReadFile();
0041
0042
0043 std::string inputDir_;
0044
0045
0046
0047 std::vector<std::string> filePatterns_;
0048
0049
0050
0051 std::string inprocessDir_;
0052
0053
0054
0055 std::string processedDir_;
0056
0057
0058
0059 std::string corruptedDir_;
0060
0061
0062
0063 std::unique_ptr<edm::streamer::StreamerInputFile> streamerInputFile_;
0064
0065 std::string fileName_;
0066
0067 std::string tokenFile_;
0068
0069 int timeOut_;
0070
0071 std::deque<std::string> filesInQueue_;
0072
0073 bool end_;
0074
0075 int verbosity_;
0076 };
0077
0078 #endif