Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:10:14

0001 #ifndef DQMServices_StreamerIO_JsonWritingTimeoutPoolOutputModule_h
0002 #define DQMServices_StreamerIO_JsonWritingTimeoutPoolOutputModule_h
0003 
0004 #include "IOPool/Output/interface/TimeoutPoolOutputModule.h"
0005 
0006 #include <string>
0007 #include <utility>
0008 
0009 namespace edm {
0010   class ConfigurationDescriptions;
0011   class ParameterSet;
0012 }  // namespace edm
0013 
0014 namespace dqmservices {
0015 
0016   class JsonWritingTimeoutPoolOutputModule : public edm::TimeoutPoolOutputModule {
0017   public:
0018     explicit JsonWritingTimeoutPoolOutputModule(edm::ParameterSet const& ps);
0019     ~JsonWritingTimeoutPoolOutputModule() override = default;
0020 
0021     static void fillDescriptions(edm::ConfigurationDescriptions&);
0022 
0023   protected:
0024     std::pair<std::string, std::string> physicalAndLogicalNameForNewFile() override;
0025     void doExtrasAfterCloseFile() override;
0026 
0027   protected:
0028     uint32_t const runNumber_;
0029     std::string const streamLabel_;
0030     std::string const outputPath_;
0031 
0032     uint32_t sequence_;
0033     std::string currentFileName_;
0034     std::string currentJsonName_;
0035   };
0036 
0037 }  // namespace dqmservices
0038 
0039 #endif  // DQMServices_StreamerIO_JsonWritingTimeoutPoolOutputModule_h