CMS 3D CMS Logo

PackerFactory.h
Go to the documentation of this file.
1 #ifndef EventFilter_L1TRawToDigi_PackerFactory_h
2 #define EventFilter_L1TRawToDigi_PackerFactory_h
3 
5 
7 
8 namespace l1t {
9  typedef Packer*(pack_fct)();
11 
12  class PackerFactory {
13  public:
14  inline static const PackerFactory* get() { return &instance_; };
15  std::shared_ptr<Packer> make(const std::string&) const;
16 
17  private:
19  static const PackerFactory instance_;
20  };
21 } // namespace l1t
22 
23 #define DEFINE_L1T_PACKER(type) DEFINE_EDM_PLUGIN(l1t::PackerFactoryT, type, #type)
24 
25 #endif
PluginFactory.h
l1t::pack_fct
Packer *() pack_fct()
Definition: PackerFactory.h:9
l1t::PackerFactory::instance_
static const PackerFactory instance_
Definition: PackerFactory.h:18
l1t::PackerFactory::get
static const PackerFactory * get()
Definition: PackerFactory.h:14
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
l1t::PackerFactory::PackerFactory
PackerFactory()
Definition: PackerFactory.h:18
l1t
delete x;
Definition: CaloConfig.h:22
edmplugin::PluginFactory
Definition: PluginFactory.h:34
Packer.h
l1t::PackerFactory
Definition: PackerFactory.h:12
l1t::PackerFactory::make
std::shared_ptr< Packer > make(const std::string &) const
Definition: PackerFactory.cc:10
l1t::PackerFactoryT
edmplugin::PluginFactory< pack_fct > PackerFactoryT
Definition: PackerFactory.h:10
l1t::Packer
Definition: Packer.h:14