File indexing completed on 2024-04-06 12:10:47
0001 #ifndef EventFilter_L1TRawToDigi_Omtf_RpcUnpacker_H
0002 #define EventFilter_L1TRawToDigi_Omtf_RpcUnpacker_H
0003
0004 #include <string>
0005 #include <memory>
0006
0007 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
0008 #include "DataFormats/L1TMuon/interface/OMTF/OmtfDataWord64.h"
0009 #include "EventFilter/L1TRawToDigi/interface/OmtfLinkMappingRpc.h"
0010 #include "CondFormats/RPCObjects/interface/RPCReadOutMapping.h"
0011 #include "CondFormats/RPCObjects/interface/RPCEMap.h"
0012
0013 namespace edm {
0014 class EventSetup;
0015 }
0016 namespace omtf {
0017 class RpcDataWord64;
0018 }
0019
0020 namespace omtf {
0021
0022 class RpcUnpacker {
0023 public:
0024 RpcUnpacker() {}
0025
0026 void init(const RPCEMap& readoutMapping, const RPCAMCLinkMap& linkMap);
0027 void init(const RPCEMap& readoutMapping, const std::string& connectionFile);
0028 void unpack(int triggerBX, unsigned int fed, unsigned int amc, const RpcDataWord64& raw, RPCDigiCollection* prod);
0029
0030 private:
0031 void initCabling(const RPCEMap& readoutMapping);
0032
0033 MapEleIndex2LBIndex theOmtf2Pact;
0034 std::unique_ptr<const RPCReadOutMapping> thePactCabling;
0035 };
0036 }
0037 #endif