ATLAS Offline Software
Loading...
Searching...
No Matches
sTgcRdoToPrepDataToolMT.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONTGC_CNVTOOLS_sTgcRdoToPrepDataToolMT
6#define MUONTGC_CNVTOOLS_sTgcRdoToPrepDataToolMT
7
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ToolHandle.h"
12
24
25namespace MuonGMR4{
27}
28
29namespace Muon
30{
34
35 class sTgcRdoToPrepDataToolMT : public extends<AthAlgTool, IMuonRdoToPrepDataTool>
36 {
37 public:
39 using base_class::base_class;
40
42 virtual ~sTgcRdoToPrepDataToolMT()=default;
43
45 virtual StatusCode initialize() override;
46
52
53 StatusCode decode(const EventContext& ctx, const std::vector<IdentifierHash>& idVect) const override;
54 StatusCode decode(const EventContext& ctx, const std::vector<uint32_t>& robIds) const override;
55 StatusCode provideEmptyContainer(const EventContext& ctx) const override;
56
57 protected:
65
66 StatusCode processCollection(const EventContext& ctx,
67 outputCache& xAODcontainers,
68 const STGC_RawDataCollection *rdoColl) const;
69
70 outputCache setupOutputContainers(const EventContext& ctx) const;
71 const STGC_RawDataContainer* getRdoContainer(const EventContext& ctx) const;
72
73 void processRDOContainer(const EventContext& ctx,
74 outputCache& xAODcontainers,
75 const std::vector<IdentifierHash>& idsToDecode) const;
76
77 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
78
79 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
80
81
82 SG::ReadHandleKey<STGC_RawDataContainer> m_rdoContainerKey{this, "InputCollection", "sTGCRDO", "RDO container to read"};
83 SG::WriteHandleKey<sTgcPrepDataContainer> m_stgcPrepDataContainerKey{this, "OutputCollection", "STGC_Measurements", "Muon::sTgcPrepDataContainer to record"};
84 Gaudi::Property<bool> m_merge{this, "Merge", true}; // merge Prds
85
86 ToolHandle<ISTgcClusterBuilderTool> m_clusterBuilderTool{this,"ClusterBuilderTool","Muon::SimpleSTgcClusterBuilderTool/SimpleSTgcClusterBuilderTool"};
87 ToolHandle<INSWCalibTool> m_calibTool{this,"NSWCalibTool", ""};
88
90 SG::UpdateHandleKey<sTgcPrepDataCollection_Cache> m_prdContainerCacheKey{this, "PrdCacheKey", "", "Optional external cache for the sTGC PRD container"};
91
92 // xAOD output containers keys
93 SG::WriteHandleKey<xAOD::sTgcStripContainer> m_xAODStripKey{this, "xAODStripKey", "", "If empty, do not produce xAOD, otherwise this is the key of the output xAOD MDT PRD container"};
94 SG::WriteHandleKey<xAOD::sTgcPadContainer> m_xAODPadKey{this, "xAODPadKey", "", "If empty, do not produce xAOD, otherwise this is the key of the output xAOD MDT PRD container"};
95 SG::WriteHandleKey<xAOD::sTgcWireContainer> m_xAODWireKey{this, "xAODWireKey", "", "If empty, do not produce xAOD, otherwise this is the key of the output xAOD MDT PRD container"};
96
97 Gaudi::Property<bool> m_useNewGeo{this, "UseR4DetMgr", false,
98 "Switch between the legacy and the new geometry"};
99
101
102
103 };
104} // end of namespace
105
106#endif // MUONTGC_CNVTOOLS_STGCRDOTOPREPDATATOOL_H
StatusCode provideEmptyContainer(const EventContext &ctx) const override
virtual ~sTgcRdoToPrepDataToolMT()=default
Destructor.
StatusCode processCollection(const EventContext &ctx, outputCache &xAODcontainers, const STGC_RawDataCollection *rdoColl) const
ToolHandle< INSWCalibTool > m_calibTool
ToolHandle< ISTgcClusterBuilderTool > m_clusterBuilderTool
SG::WriteHandleKey< sTgcPrepDataContainer > m_stgcPrepDataContainerKey
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadHandleKey< STGC_RawDataContainer > m_rdoContainerKey
SG::WriteHandleKey< xAOD::sTgcWireContainer > m_xAODWireKey
SG::UpdateHandleKey< sTgcPrepDataCollection_Cache > m_prdContainerCacheKey
This is the key for the cache for the sTGC PRD containers, can be empty.
const MuonGMR4::MuonDetectorManager * m_detMgrR4
outputCache setupOutputContainers(const EventContext &ctx) const
SG::WriteHandleKey< xAOD::sTgcStripContainer > m_xAODStripKey
SG::WriteHandleKey< xAOD::sTgcPadContainer > m_xAODPadKey
StatusCode decode(const EventContext &ctx, const std::vector< IdentifierHash > &idVect) const override
Decode RDO to PRD A vector of IdentifierHash are passed in, and the data corresponding to this list...
void processRDOContainer(const EventContext &ctx, outputCache &xAODcontainers, const std::vector< IdentifierHash > &idsToDecode) const
const STGC_RawDataContainer * getRdoContainer(const EventContext &ctx) const
virtual StatusCode initialize() override
Standard AthAlgTool initialize method.
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which an UpdateHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
SG::WriteHandle< xAOD::sTgcWireContainer > wire
SG::WriteHandle< Muon::sTgcPrepDataContainer > prd
SG::WriteHandle< xAOD::sTgcStripContainer > strip
SG::WriteHandle< xAOD::sTgcPadContainer > pad