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 unsigned int getAlgoVersion() { return algoVersion_; };
18  inline int getFedNumber() { return fed_; };
19  inline unsigned int getMuonCopy() { return muonCopy_; };
20 
21  inline void setAlgoVersion(const unsigned int version) { algoVersion_ = version; };
22  inline void setFedNumber(const int fed) { fed_ = fed; };
23  inline void setMuonCopy(const unsigned int copy) { muonCopy_ = copy; };
24 
25  private:
26  static constexpr unsigned nWords_ = 6; // every link transmits 6 words (3 muons) per bx
27  static constexpr unsigned bxzs_enable_shift_ = 1;
28 
30  unsigned int algoVersion_;
31  int fed_;
32  unsigned int muonCopy_;
33 
34  void unpackBx(int bx, const std::vector<uint32_t>& payload, unsigned int startIdx=0);
35  };
36  }
37 }
38 
39 #endif
MuonBxCollection * res_
Definition: MuonUnpacker.h:29
void setAlgoVersion(const unsigned int version)
Definition: MuonUnpacker.h:21
static unsigned bxzs_enable_shift_
Definition: MuonUnpacker.h:27
delete x;
Definition: CaloConfig.h:22
bool unpack(const Block &block, UnpackerCollections *coll) override
Definition: MuonUnpacker.cc:17
#define constexpr
void unpackBx(int bx, const std::vector< uint32_t > &payload, unsigned int startIdx=0)
Definition: MuonUnpacker.cc:60
void setMuonCopy(const unsigned int copy)
Definition: MuonUnpacker.h:23
static unsigned nWords_
Definition: MuonUnpacker.h:26
JetCorrectorParametersCollection coll
Definition: classes.h:10
unsigned int getMuonCopy()
Definition: MuonUnpacker.h:19
unsigned int getAlgoVersion()
Definition: MuonUnpacker.h:17
void setFedNumber(const int fed)
Definition: MuonUnpacker.h:22