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;
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 }
0028 }
0029
0030 #endif