PackingSetupFactory

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#ifndef EventFilter_L1TRawToDigi_PackingSetupFactory_h
#define EventFilter_L1TRawToDigi_PackingSetupFactory_h

#include "FWCore/PluginManager/interface/PluginFactory.h"

#include "EventFilter/L1TRawToDigi/interface/PackingSetup.h"

namespace l1t {
  typedef PackingSetup*(prov_fct)();
  typedef edmplugin::PluginFactory<prov_fct> PackingSetupFactoryT;

  class PackingSetupFactory {
  public:
    static const PackingSetupFactory* get() { return &instance_; };
    std::unique_ptr<PackingSetup> make(const std::string&) const;
    void fillDescription(edm::ParameterSetDescription&) const;

  private:
    PackingSetupFactory() {}
    static const PackingSetupFactory instance_;
  };
}  // namespace l1t

#define DEFINE_L1T_PACKING_SETUP(type) DEFINE_EDM_PLUGIN(l1t::PackingSetupFactoryT, type, #type)

#endif