CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Unpacker.h
Go to the documentation of this file.
1 #ifndef Unpacker_h
2 #define Unpacker_h
3 
5 
7 
8 namespace l1t {
9  class UnpackerCollections;
10 
11  void getBXRange(int nbx, int& first, int& last);
12 
13  class Unpacker {
14  public:
15  virtual bool unpack(const Block& block, UnpackerCollections *coll) = 0;
16  };
17 
18  typedef Unpacker*(unpack_fct)();
20 
22  public:
23  inline static const UnpackerFactory* get() { return &instance_; };
24  std::shared_ptr<Unpacker> make(const std::string&) const;
25  private:
27  static const UnpackerFactory instance_;
28  };
29 }
30 
31 #define DEFINE_L1T_UNPACKER(type) \
32  DEFINE_EDM_PLUGIN(l1t::UnpackerFactoryT,type,#type)
33 
34 #endif
void getBXRange(int nbx, int &first, int &last)
Definition: Unpacker.cc:12
edmplugin::PluginFactory< unpack_fct > UnpackerFactoryT
Definition: Unpacker.h:19
virtual bool unpack(const Block &block, UnpackerCollections *coll)=0
std::shared_ptr< Unpacker > make(const std::string &) const
Definition: Unpacker.cc:19
JetCorrectorParametersCollection coll
Definition: classes.h:10
static const UnpackerFactory instance_
Definition: Unpacker.h:26
Unpacker *( unpack_fct)()
Definition: Unpacker.h:18