CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/EventFilter/Utilities/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 
00007 namespace edm{
00008   class ParameterSet;
00009 }
00010 
00011 
00012 
00013 namespace evf
00014 {
00015   
00016   class OutputModule{
00017   public: 
00018     virtual unsigned int getCounts()=0;
00019   };
00020   class ShmOutputModuleRegistry
00021     {
00022     public:
00023       ShmOutputModuleRegistry(const edm::ParameterSet &);
00024       OutputModule *get(std::string &name);
00025       void registerModule(std::string &name, OutputModule *op);
00026       void dumpRegistry();
00027 
00028     private:
00029       typedef std::map<std::string, OutputModule*> dct;
00030       typedef dct::iterator idct;
00031       void clear();
00032       dct clm_;
00033       friend class FWEPWrapper;
00034     };
00035 }
00036 #endif
00037