Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:15

0001 #ifndef EventFilter_L1TRawToDigi_stage2_IntermediateMuonUnpacker_h
0002 #define EventFilter_L1TRawToDigi_stage2_IntermediateMuonUnpacker_h
0003 
0004 #include "EventFilter/L1TRawToDigi/interface/Unpacker.h"
0005 #include <map>
0006 #include "DataFormats/L1Trigger/interface/Muon.h"
0007 
0008 namespace l1t {
0009   namespace stage2 {
0010     class IntermediateMuonUnpacker : public Unpacker {
0011     public:
0012       IntermediateMuonUnpacker();
0013       ~IntermediateMuonUnpacker() override {}
0014 
0015       bool unpack(const Block& block, UnpackerCollections* coll) override;
0016 
0017     private:
0018       static constexpr unsigned nWords_ = 6;  // every link transmits 6 words (3 muons) per bx
0019       static constexpr unsigned bxzs_enable_shift_ = 1;
0020 
0021       MuonBxCollection* res1_;
0022       MuonBxCollection* res2_;
0023       unsigned int coll1Cnt_;
0024 
0025       void unpackBx(int bx, const std::vector<uint32_t>& payload, unsigned int startIdx = 0);
0026     };
0027   }  // namespace stage2
0028 }  // namespace l1t
0029 
0030 #endif