CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/EventFilter/Modules/interface/ShmOutputModuleRegistry.h

Go to the documentation of this file.
00001 #ifndef EVF_SHMOUTPUTMODULE_REGISTRY_H
00002 #define EVF_SHMOUTPUTMODULE_REGISTRY_H
00003 
00004 #include <string>
00005 #include <map>
00006 #include <vector>
00007 
00008 namespace edm{
00009   class ParameterSet;
00010   class FUShmOutputModule;
00011 }
00012 
00013 
00014 
00015 namespace evf
00016 {
00017   
00018   class OutputModule{
00019   public: 
00020     virtual unsigned int getCounts()=0;
00021   };
00022   class ShmOutputModuleRegistry
00023     {
00024     public:
00025       ShmOutputModuleRegistry(const edm::ParameterSet &);
00026       OutputModule *get(std::string &name);
00027       void registerModule(std::string &name, OutputModule *op);
00028       void dumpRegistry();
00029       std::vector<edm::FUShmOutputModule *> getShmOutputModules();
00030 
00031     private:
00032       typedef std::map<std::string, OutputModule*> dct;
00033       typedef dct::iterator idct;
00034       void clear();
00035       dct clm_;
00036       friend class FWEPWrapper;
00037     };
00038 }
00039 #endif
00040