RpcPacker

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#ifndef EventFilter_L1TRawToDigi_Omtf_RpcPacker_H
#define EventFilter_L1TRawToDigi_Omtf_RpcPacker_H

#include <string>
#include <memory>
#include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
#include "DataFormats/L1TMuon/interface/OMTF/OmtfDataWord64.h"
#include "EventFilter/L1TRawToDigi/interface/OmtfLinkMappingRpc.h"
#include "CondFormats/RPCObjects/interface/RPCReadOutMapping.h"
#include "CondFormats/RPCObjects/interface/RPCEMap.h"

namespace edm {
  class EventSetup;
}

namespace omtf {

  class RpcPacker {
  public:
    RpcPacker() {}

    void init(const RPCEMap& readoutMapping, const RPCAMCLinkMap& linkMap);
    void init(const RPCEMap& readoutMapping, const std::string& connectionFile);
    void pack(const RPCDigiCollection* prod, FedAmcRawsMap& raws);

  private:
    void initCabling(const RPCEMap& readoutMapping);

    MapLBIndex2EleIndex thePact2Omtf;
    std::unique_ptr<const RPCReadOutMapping> thePactCabling;
  };
}  // namespace omtf
#endif