ATLAS Offline Software
Loading...
Searching...
No Matches
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
28namespace Muon {
33 public:
34 using AthReentrantAlgorithm::AthReentrantAlgorithm;
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"};
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>
64 StatusCode getAndFillContainer(const SG::ReadHandleKey<INTYPE> &inKey,
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
An algorithm that can be simultaneously executed in multiple threads.
Algorithm which converts PrepRawData to xAOD::PrepRawData Not really Muon specific,...
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_rpcPrepRawDataKey
SG::WriteHandleKey< xAOD::sTgcPadContainer > m_stgcPadxAODKey
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_tgcPrepRawDataKey
SG::WriteHandleKey< xAOD::sTgcWireContainer > m_stgcWirexAODKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepRawDataKey
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_stgcPrepRawDataKey
SG::WriteHandleKey< xAOD::MdtDriftCircleContainer > m_mdtxAODKey
bool fillxPRD(const PRD &prd, xPRD &xprd) const
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_mmPrepRawDataKey
virtual ~PRDxAODConvertorAlg()=default
virtual StatusCode initialize() override
SG::WriteHandleKey< xAOD::TgcStripContainer > m_tgcxAODKey
virtual StatusCode execute(const EventContext &ctx) const override
StatusCode getAndFillContainer(const SG::ReadHandleKey< INTYPE > &inKey, const SG::WriteHandleKey< OUTTYPE > &outKey, const EventContext &) const
SG::WriteHandleKey< xAOD::sTgcStripContainer > m_stgcStripxAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_mmxAODKey
SG::WriteHandleKey< xAOD::RpcStripContainer > m_rpcxAODKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.