CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DQModule.h
Go to the documentation of this file.
1 #ifndef DQModule_h
2 #define DQModule_h
3 
4 /*
5  * file: DQModule.h
6  * Author: Viktor Khristenko
7  * date: 13.10.2015
8  */
9 
12 
13 #include <iostream>
14 #include <string>
15 #include <vector>
16 
17 namespace hcaldqm {
18  // Module Types:
19  // 1) Tasks - process every event
20  // 2) Clients - get loaded into the Harvester and processed sequentially
21  // used only for Online/Offline World Harvesting. Prefer standalone
22  // Harvesters
23  // 3) Harvester - Client Manager - per lumi processing
24  enum ModuleType { fTask = 0, fHarvester = 1, fClient = 2, nModuleType = 3 };
25 
26  enum ProcessingType { fOnline = 0, fOffline = 1, fLocal = 2, nProcessingType = 3 };
27 
28  std::string const pTypeNames[nProcessingType] = {"Online", "Offline", "Local"};
29 
30  class DQModule {
31  public:
33  virtual ~DQModule() noexcept(false) {}
35 
36  protected:
37  // Member variables
38  // @name - module's name
39  // @ptype - Processing Type
40  // @mtype - Module Type
41  // @ctype - Calibration Type of the Module. All we want is 0 or 1
45  int _debug;
46 
50 
51  int _evsTotal;
52  int _evsPerLS;
54  int _maxLS;
56  };
57 } // namespace hcaldqm
58 
59 #endif
Definition: Logger.h:6
virtual ~DQModule() noexcept(false)
Definition: DQModule.h:33
ProcessingType
Definition: DQModule.h:26
ModuleType _mtype
Definition: DQModule.h:43
ProcessingType _ptype
Definition: DQModule.h:44
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition: DQModule.cc:30
ModuleType
Definition: DQModule.h:24
Logger _logger
Definition: DQModule.h:55
std::string _name
Definition: DQModule.h:42
std::string _subsystem
Definition: DQModule.h:49
std::string _runkeyName
Definition: DQModule.h:48
std::string const pTypeNames[nProcessingType]
Definition: DQModule.h:28
DQModule(edm::ParameterSet const &)
Definition: DQModule.cc:5