Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace omtf
0037 #endif