CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ShmOutputModuleRegistry.h
Go to the documentation of this file.
1 #ifndef EVF_SHMOUTPUTMODULE_REGISTRY_H
2 #define EVF_SHMOUTPUTMODULE_REGISTRY_H
3 
5 #include <string>
6 #include <map>
7 #include <vector>
8 
9 
10 namespace edm{
11  class ParameterSet;
12  class FUShmOutputModule;
13 }
14 
15 
16 
17 namespace evf
18 {
19 
20  class OutputModule{
21  public:
22  virtual unsigned int getCounts()=0;
23  };
25  {
26  public:
28  OutputModule *get(std::string &name);
29  void registerModule(std::string &name, OutputModule *op);
30  void dumpRegistry();
31  std::vector<edm::FUShmOutputModule *> getShmOutputModules();
32 
33  void updateDatasetInfo();
34  std::string getDatasetCSV();
35  std::vector<edm::FUShmOutputModule *> & getShmOutputModulesWithDatasets() {return shmOutputsWithDatasets_;}
37 
38  private:
39  typedef std::map<std::string, OutputModule*> dct;
40  typedef dct::iterator idct;
41  void clear();
43  std::vector<edm::FUShmOutputModule *> shmOutputsWithDatasets_;
44  std::vector<std::string> listOfDatasets_;
45  friend class FWEPWrapper;
46  };
47 }
48 #endif
49 
void registerModule(std::string &name, OutputModule *op)
std::vector< std::string > listOfDatasets_
ShmOutputModuleRegistry(const edm::ParameterSet &)
std::map< std::string, OutputModule * > dct
std::vector< edm::FUShmOutputModule * > & getShmOutputModulesWithDatasets()
void insertStreamAndDatasetInfo(edm::ParameterSet &streams, edm::ParameterSet &datasets)
std::vector< edm::FUShmOutputModule * > shmOutputsWithDatasets_
std::vector< edm::FUShmOutputModule * > getShmOutputModules()
virtual unsigned int getCounts()=0