CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
UnpackerFactory.h
Go to the documentation of this file.
1 #ifndef EventFilter_L1TRawToDigi_UnpackerFactory_h
2 #define EventFilter_L1TRawToDigi_UnpackerFactory_h
3 
5 
7 
8 namespace l1t {
9  typedef Unpacker*(unpack_fct)();
11 
13  public:
14  inline static const UnpackerFactory* get() { return &instance_; };
15  std::shared_ptr<Unpacker> make(const std::string&) const;
16 
17  private:
19  static const UnpackerFactory instance_;
20  };
21 } // namespace l1t
22 
23 #define DEFINE_L1T_UNPACKER(type) DEFINE_EDM_PLUGIN(l1t::UnpackerFactoryT, type, #type)
24 
25 #endif
edmplugin::PluginFactory< unpack_fct > UnpackerFactoryT
std::shared_ptr< Unpacker > make(const std::string &) const
static const UnpackerFactory instance_
Unpacker *( unpack_fct)()