ATLAS Offline Software
RpcRdoToRpcDigit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONBYTESTREAMCNVTEST_RPCRDOTORPCDIGIT_H
6 #define MUONBYTESTREAMCNVTEST_RPCRDOTORPCDIGIT_H
7 
18 
19 
21 public:
22  RpcRdoToRpcDigit(const std::string& name, ISvcLocator* pSvcLocator);
23  virtual ~RpcRdoToRpcDigit() = default;
24 
25  virtual StatusCode initialize() override final;
26  virtual StatusCode execute(const EventContext& ctx) const override final;
27 
28 private:
31  m_cont{container} {}
32  StatusCode findCollection(const Identifier& elementId,
33  const IdentifierHash& hash, RpcDigitCollection* &coll, MsgStream& msg);
34 
35  private:
36  RpcDigitContainer* m_cont{nullptr};
37  RpcDigitCollection* m_lastColl{nullptr};
38  std::map<IdentifierHash, RpcDigitCollection*> m_digitMap{};
39  };
40  StatusCode decodeRpc(const RpcPad*, TempDigitContainer& container, const RpcCablingCondData* rpcCab) const;
41 
42  StatusCode decodeNRpc(const EventContext& ctx, RpcDigitContainer& container) const;
43  ToolHandle<Muon::IRPC_RDO_Decoder> m_rpcRdoDecoderTool{this, "rpcRdoDecoderTool", "Muon::RpcRDO_Decoder", ""};
44  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
45  SG::ReadHandleKey<RpcPadContainer> m_rpcRdoKey{this, "RpcRdoContainer", "RPCPAD", "Rpc RDO Input"};
46  SG::WriteHandleKey<RpcDigitContainer> m_rpcDigitKey{this, "RpcDigitContainer", "RPC_DIGITS", "Rpc Digit Output"};
47  SG::ReadCondHandleKey<RpcCablingCondData> m_rpcReadKey{this, "RpcCablingKey", "RpcCablingCondData", "Key of RpcCablingCondData"};
48 
49 
50  Gaudi::Property<bool> m_decodeNrpcRDO{this, "DecodeNrpcRDO", false};
51  Gaudi::Property<bool> m_patch_for_rpc_time{this, "PatchForRpcTime", false, "flag for patching the RPC time"};
52 
53  SG::ReadHandleKey<xAOD::NRPCRDOContainer> m_nRpcRdoKey{this, "NRpcRdoContainer", "NRPCRDO", "BIS78 RPC Rdo input with ToTs"};
54  SG::ReadCondHandleKey<MuonNRPC_CablingMap> m_nRpcCablingKey{this, "NRpcCablingKey", "MuonNRPC_CablingMap", "Key of input MDT cabling map"};
55 
56  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey{this, "DetectorManagerKey", "MuonDetectorManager",
57  "Key of input MuonDetectorManager condition data"};
58 
59 };
60 
61 #endif
RpcRdoToRpcDigit
Definition: RpcRdoToRpcDigit.h:20
IRPC_RDO_Decoder.h
RpcRdoToRpcDigit::m_rpcRdoKey
SG::ReadHandleKey< RpcPadContainer > m_rpcRdoKey
Definition: RpcRdoToRpcDigit.h:45
RpcRdoToRpcDigit::TempDigitContainer::TempDigitContainer
TempDigitContainer(RpcDigitContainer *container)
Definition: RpcRdoToRpcDigit.h:30
RpcRdoToRpcDigit::decodeNRpc
StatusCode decodeNRpc(const EventContext &ctx, RpcDigitContainer &container) const
Definition: RpcRdoToRpcDigit.cxx:116
RpcDigitContainer
Use IdentifiableContainer with RpcDigitCollection.
Definition: RpcDigitContainer.h:53
RpcDigitContainer.h
RpcDigitCollection
Definition: RpcDigitCollection.h:17
MuonNRPC_CablingMap.h
RpcRdoToRpcDigit::m_nRpcRdoKey
SG::ReadHandleKey< xAOD::NRPCRDOContainer > m_nRpcRdoKey
Definition: RpcRdoToRpcDigit.h:53
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey< RpcPadContainer >
RpcRdoToRpcDigit::m_nRpcCablingKey
SG::ReadCondHandleKey< MuonNRPC_CablingMap > m_nRpcCablingKey
Definition: RpcRdoToRpcDigit.h:54
RpcRdoToRpcDigit::m_patch_for_rpc_time
Gaudi::Property< bool > m_patch_for_rpc_time
Definition: RpcRdoToRpcDigit.h:51
RpcRdoToRpcDigit::decodeRpc
StatusCode decodeRpc(const RpcPad *, TempDigitContainer &container, const RpcCablingCondData *rpcCab) const
Definition: RpcRdoToRpcDigit.cxx:76
RpcCablingCondData
Definition: RpcCablingCondData.h:21
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
RpcRdoToRpcDigit::m_rpcReadKey
SG::ReadCondHandleKey< RpcCablingCondData > m_rpcReadKey
Definition: RpcRdoToRpcDigit.h:47
SG::WriteHandleKey< RpcDigitContainer >
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RpcRdoToRpcDigit::m_rpcRdoDecoderTool
ToolHandle< Muon::IRPC_RDO_Decoder > m_rpcRdoDecoderTool
Definition: RpcRdoToRpcDigit.h:43
RpcRdoToRpcDigit::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcRdoToRpcDigit.h:44
ReadCondHandleKey.h
AthReentrantAlgorithm.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RpcRdoToRpcDigit::initialize
virtual StatusCode initialize() override final
Definition: RpcRdoToRpcDigit.cxx:36
RpcPad
Definition: RpcPad.h:21
MuonDetectorManager.h
SG::ReadCondHandleKey< RpcCablingCondData >
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
RpcRdoToRpcDigit::RpcRdoToRpcDigit
RpcRdoToRpcDigit(const std::string &name, ISvcLocator *pSvcLocator)
Definition: RpcRdoToRpcDigit.cxx:34
RpcCablingCondData.h
AthCommonMsg< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
RpcPadContainer.h
IdentifierHash
Definition: IdentifierHash.h:38
RpcRdoToRpcDigit::TempDigitContainer
Definition: RpcRdoToRpcDigit.h:29
RpcRdoToRpcDigit::m_decodeNrpcRDO
Gaudi::Property< bool > m_decodeNrpcRDO
Definition: RpcRdoToRpcDigit.h:50
RpcRdoToRpcDigit::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: RpcRdoToRpcDigit.h:56
RpcRdoToRpcDigit::~RpcRdoToRpcDigit
virtual ~RpcRdoToRpcDigit()=default
IMuonIdHelperSvc.h
RpcRdoToRpcDigit::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: RpcRdoToRpcDigit.cxx:50
NRPCRDOContainer.h
RpcRdoToRpcDigit::m_rpcDigitKey
SG::WriteHandleKey< RpcDigitContainer > m_rpcDigitKey
Definition: RpcRdoToRpcDigit.h:46
ServiceHandle< Muon::IMuonIdHelperSvc >