ATLAS Offline Software
PRDxAODConvertorAlg.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 PRDXAODCONVERTORALG_H
6 #define PRDXAODCONVERTORALG_H
7 
8 
10 #include "GaudiKernel/ToolHandle.h"
11 
17 
18 // xAOD
26 
27 
28 namespace Muon {
33  public:
35 
36  virtual ~PRDxAODConvertorAlg() = default;
37 
38  virtual StatusCode initialize() override;
39  virtual StatusCode execute(const EventContext& ctx) const override;
40 
41  protected:
42  // Muon PRDs
43  // (Could be extended to ID, but they have a pre-existing converter)
44 
45  SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_mdtPrepRawDataKey {this, "MdtPrepRawDataKey", "MDT_DriftCircles", "Key for MDT PRD Container"};
46  SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_rpcPrepRawDataKey {this, "RpcPrepRawDataKey", "RPC_Measurements", "Key for RPC PRD Container"};
47  SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_tgcPrepRawDataKey {this, "TgcPrepRawDataKey", "TGC_MeasurementsAllBCs", "Key for TGC PRD Container"};
48  SG::ReadHandleKey<Muon::MMPrepDataContainer> m_mmPrepRawDataKey {this, "MMPrepRawDataKey", "MM_Measurements", "Key for MM PRD Container"};
49  SG::ReadHandleKey<Muon::sTgcPrepDataContainer> m_stgcPrepRawDataKey {this, "sTgcPrepRawDataKey", "STGC_Measurements", "Key for sTGC PRD Container"};
50 
52  SG::WriteHandleKey<xAOD::RpcStripContainer> m_rpcxAODKey {this, "RpcxAODKey", "RPC_PrepData"};
53  SG::WriteHandleKey<xAOD::TgcStripContainer> m_tgcxAODKey {this, "TgcxAODKey", "TGC_PrepData"};
54  SG::WriteHandleKey<xAOD::MMClusterContainer> m_mmxAODKey {this, "MMxAODKey", "MM_PrepData"};
55  SG::WriteHandleKey<xAOD::sTgcStripContainer> m_stgcStripxAODKey {this, "sTgcStripxAODKey", "sTGC_StripPrepData"};
56  SG::WriteHandleKey<xAOD::sTgcWireContainer> m_stgcWirexAODKey {this, "sTgcWirexAODKey", "sTGC_WirePrepData"};
57  SG::WriteHandleKey<xAOD::sTgcPadContainer> m_stgcPadxAODKey {this, "sTgcPadxAODKey", "sTGC_PadPrepData"};
58 
59  private:
60 
61  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
62 
63  template <class INTYPE, class OUTTYPE, class OUTTYPEAUX>
65  const SG::WriteHandleKey<OUTTYPE> &outKey, const EventContext&) const;
66 
67  template<class PRD, class xPRD>
68  bool fillxPRD(const PRD& prd, xPRD& xprd) const;
69 };
70 } // namespace ActsTrk
71 
72 
73 #endif
Muon::PRDxAODConvertorAlg::getAndFillContainer
StatusCode getAndFillContainer(const SG::ReadHandleKey< INTYPE > &inKey, const SG::WriteHandleKey< OUTTYPE > &outKey, const EventContext &) const
Definition: PRDxAODConvertorAlg.cxx:52
Muon::PRDxAODConvertorAlg::m_rpcxAODKey
SG::WriteHandleKey< xAOD::RpcStripContainer > m_rpcxAODKey
Definition: PRDxAODConvertorAlg.h:52
Muon::PRDxAODConvertorAlg::m_tgcPrepRawDataKey
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_tgcPrepRawDataKey
Definition: PRDxAODConvertorAlg.h:47
Muon::PRDxAODConvertorAlg::fillxPRD
bool fillxPRD(const PRD &prd, xPRD &xprd) const
MMPrepDataContainer.h
RpcPrepDataContainer.h
Muon::PRDxAODConvertorAlg::m_stgcStripxAODKey
SG::WriteHandleKey< xAOD::sTgcStripContainer > m_stgcStripxAODKey
Definition: PRDxAODConvertorAlg.h:55
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
sTgcPrepDataContainer.h
RpcStripContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Muon::PRDxAODConvertorAlg::initialize
virtual StatusCode initialize() override
Definition: PRDxAODConvertorAlg.cxx:15
sTgcWireContainer.h
MdtPrepDataContainer.h
Muon::PRDxAODConvertorAlg::~PRDxAODConvertorAlg
virtual ~PRDxAODConvertorAlg()=default
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Muon::PRDxAODConvertorAlg::m_mmPrepRawDataKey
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_mmPrepRawDataKey
Definition: PRDxAODConvertorAlg.h:48
TgcStripContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TgcPrepDataContainer.h
Muon::PRDxAODConvertorAlg::m_mmxAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_mmxAODKey
Definition: PRDxAODConvertorAlg.h:54
Muon::PRDxAODConvertorAlg::m_stgcWirexAODKey
SG::WriteHandleKey< xAOD::sTgcWireContainer > m_stgcWirexAODKey
Definition: PRDxAODConvertorAlg.h:56
Muon::PRDxAODConvertorAlg::m_mdtPrepRawDataKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepRawDataKey
Definition: PRDxAODConvertorAlg.h:45
MMClusterContainer.h
AthReentrantAlgorithm.h
MdtDriftCircleContainer.h
Muon::PRDxAODConvertorAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: PRDxAODConvertorAlg.cxx:35
Muon::PRDxAODConvertorAlg::m_rpcPrepRawDataKey
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_rpcPrepRawDataKey
Definition: PRDxAODConvertorAlg.h:46
Muon::PRDxAODConvertorAlg::m_mdtxAODKey
SG::WriteHandleKey< xAOD::MdtDriftCircleContainer > m_mdtxAODKey
Definition: PRDxAODConvertorAlg.h:51
sTgcPadContainer.h
Muon::PRDxAODConvertorAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: PRDxAODConvertorAlg.h:61
Muon::PRDxAODConvertorAlg::m_stgcPadxAODKey
SG::WriteHandleKey< xAOD::sTgcPadContainer > m_stgcPadxAODKey
Definition: PRDxAODConvertorAlg.h:57
Muon::PRDxAODConvertorAlg::m_stgcPrepRawDataKey
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_stgcPrepRawDataKey
Definition: PRDxAODConvertorAlg.h:49
sTgcStripContainer.h
Muon::PRDxAODConvertorAlg::m_tgcxAODKey
SG::WriteHandleKey< xAOD::TgcStripContainer > m_tgcxAODKey
Definition: PRDxAODConvertorAlg.h:53
Muon::PRDxAODConvertorAlg
Algorithm which converts PrepRawData to xAOD::PrepRawData Not really Muon specific,...
Definition: PRDxAODConvertorAlg.h:32
ServiceHandle< Muon::IMuonIdHelperSvc >