ATLAS Offline Software
MM_RdoToDigit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONBYTESTREAMCNVTEST_MMRDOTOMMDIGIT_H
6 #define MUONBYTESTREAMCNVTEST_MMRDOTOMMDIGIT_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
15 
17 public:
18  MM_RdoToDigit(const std::string& name, ISvcLocator* pSvcLocator);
19  virtual ~MM_RdoToDigit() = default;
20  virtual StatusCode initialize() override final;
21  virtual StatusCode execute(const EventContext& ctx) const override final;
22 
23 private:
24  using DigitCollection = std::unordered_map<IdentifierHash, std::unique_ptr<MmDigitCollection>>;
25 
26  StatusCode decodeMM(const EventContext& ctx,
27  const Muon::MM_RawDataCollection& rdoCollection,
28  DigitCollection& digitContainer) const;
29 
30  ToolHandle<Muon::IMM_RDO_Decoder> m_mmRdoDecoderTool{this, "mmRdoDecoderTool", "Muon::MM_RDO_Decoder", ""};
31  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
32  SG::ReadHandleKey<Muon::MM_RawDataContainer> m_mmRdoKey{this, "MmRdoContainer", "MMRDO", "MM RDO Input"};
33  SG::WriteHandleKey<MmDigitContainer> m_mmDigitKey{this, "MmDigitContainer", "MM_DIGITS", "MM Digit Output"};
34 };
35 
36 #endif
MmDigitCollection
Definition: MmDigitCollection.h:18
MM_RdoToDigit::decodeMM
StatusCode decodeMM(const EventContext &ctx, const Muon::MM_RawDataCollection &rdoCollection, DigitCollection &digitContainer) const
Definition: MM_RdoToDigit.cxx:39
MM_RdoToDigit
Definition: MM_RdoToDigit.h:16
MM_RdoToDigit::m_mmRdoKey
SG::ReadHandleKey< Muon::MM_RawDataContainer > m_mmRdoKey
Definition: MM_RdoToDigit.h:32
MM_RdoToDigit::DigitCollection
std::unordered_map< IdentifierHash, std::unique_ptr< MmDigitCollection > > DigitCollection
Definition: MM_RdoToDigit.h:24
MM_RdoToDigit::initialize
virtual StatusCode initialize() override final
Definition: MM_RdoToDigit.cxx:9
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey< Muon::MM_RawDataContainer >
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
MM_RdoToDigit::m_mmRdoDecoderTool
ToolHandle< Muon::IMM_RDO_Decoder > m_mmRdoDecoderTool
Definition: MM_RdoToDigit.h:30
MM_RdoToDigit::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: MM_RdoToDigit.cxx:17
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::WriteHandleKey< MmDigitContainer >
MM_RdoToDigit::m_mmDigitKey
SG::WriteHandleKey< MmDigitContainer > m_mmDigitKey
Definition: MM_RdoToDigit.h:33
MmDigitContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthReentrantAlgorithm.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MM_RdoToDigit::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MM_RdoToDigit.h:31
MM_RawDataContainer.h
MM_RdoToDigit::~MM_RdoToDigit
virtual ~MM_RdoToDigit()=default
IMM_RDO_Decoder.h
IdentifierHash
Definition: IdentifierHash.h:38
MM_RdoToDigit::MM_RdoToDigit
MM_RdoToDigit(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MM_RdoToDigit.cxx:7
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >