CMS 3D CMS Logo

MuonUnpacker.h
Go to the documentation of this file.
1 #ifndef L1T_PACKER_STAGE2_MUONUNPACKER_H
2 #define L1T_PACKER_STAGE2_MUONUNPACKER_H
3 
6 #include "L1TObjectCollections.h"
7 
8 namespace l1t {
9  namespace stage2 {
10  class MuonUnpacker : public Unpacker {
11  public:
12  MuonUnpacker();
13  ~MuonUnpacker() override{};
14 
15  bool unpack(const Block& block, UnpackerCollections* coll) override;
16 
17  inline int getFedNumber() { return fed_; };
18  inline unsigned int getMuonCopy() { return muonCopy_; };
19 
20  inline void setFedNumber(const int fed) { fed_ = fed; };
21  inline void setMuonCopy(const unsigned int copy) { muonCopy_ = copy; };
22 
23  private:
24  static constexpr unsigned nWords_ = 6; // every link transmits 6 words (3 muons) per bx
25  static constexpr unsigned bxzs_enable_shift_ = 1;
26 
28  int fed_;
29  unsigned int muonCopy_;
30 
31  void unpackBx(int bx, const std::vector<uint32_t>& payload, unsigned int startIdx = 0);
32  };
33  } // namespace stage2
34 } // namespace l1t
35 
36 #endif
MuonBxCollection * res_
Definition: MuonUnpacker.h:27
static unsigned bxzs_enable_shift_
Definition: MuonUnpacker.h:25
delete x;
Definition: CaloConfig.h:22
bool unpack(const Block &block, UnpackerCollections *coll) override
Definition: MuonUnpacker.cc:13
void unpackBx(int bx, const std::vector< uint32_t > &payload, unsigned int startIdx=0)
Definition: MuonUnpacker.cc:56
void setMuonCopy(const unsigned int copy)
Definition: MuonUnpacker.h:21
static unsigned nWords_
Definition: MuonUnpacker.h:24
JetCorrectorParametersCollection coll
Definition: classes.h:10
unsigned int getMuonCopy()
Definition: MuonUnpacker.h:18
void setFedNumber(const int fed)
Definition: MuonUnpacker.h:20
#define constexpr