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
|
#ifndef EventFilter_L1TRawToDigi_PackerFactory_h
#define EventFilter_L1TRawToDigi_PackerFactory_h
#include "FWCore/PluginManager/interface/PluginFactory.h"
#include "EventFilter/L1TRawToDigi/interface/Packer.h"
namespace l1t {
typedef Packer*(pack_fct)();
typedef edmplugin::PluginFactory<pack_fct> PackerFactoryT;
class PackerFactory {
public:
inline static const PackerFactory* get() { return &instance_; };
std::shared_ptr<Packer> make(const std::string&) const;
private:
PackerFactory() {}
static const PackerFactory instance_;
};
} // namespace l1t
#define DEFINE_L1T_PACKER(type) DEFINE_EDM_PLUGIN(l1t::PackerFactoryT, type, #type)
#endif
|