ATLAS Offline Software
Loading...
Searching...
No Matches
MdtDataPreparator.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 TRIGL2MUONSA_MDTDATAPREPARATOR_H
6#define TRIGL2MUONSA_MDTDATAPREPARATOR_H
7
9#include "GaudiKernel/ServiceHandle.h"
10
19
20#include "MdtData.h"
21#include "MdtRegionDefiner.h"
22
23#include "RpcFitResult.h"
24#include "TgcFitResult.h"
25#include <unordered_set>
26
27namespace MuonGM{
29 class MuonStation;
30}
31
32// --------------------------------------------------------------------------------
33// --------------------------------------------------------------------------------
34
35namespace TrigL2MuonSA {
36
38 {
39 public:
40
41 static const InterfaceID& interfaceID();
42
44
45 virtual StatusCode initialize() override;
46
47 StatusCode prepareData(const EventContext& ctx,
48 const TrigRoiDescriptor* p_roids,
49 const TrigL2MuonSA::RpcFitResult& rpcFitResult,
50 TrigL2MuonSA::MuonRoad& muonRoad,
51 TrigL2MuonSA::MdtRegion& mdtRegion,
52 TrigL2MuonSA::MdtHits& mdtHits) const;
53
54 StatusCode prepareData(const EventContext& ctx,
55 const TrigRoiDescriptor* p_roids,
56 const TrigL2MuonSA::TgcFitResult& tgcFitResult,
57 TrigL2MuonSA::MuonRoad& muonRoad,
58 TrigL2MuonSA::MdtRegion& mdtRegion,
59 TrigL2MuonSA::MdtHits& mdtHits) const;
60
61 void setRpcGeometry(bool use_rpc) {m_mdtRegionDefiner->setRpcGeometry(use_rpc);};
62 void setRoIBasedDataAccess(bool use_RoIBasedDataAccess){m_use_RoIBasedDataAccess = use_RoIBasedDataAccess;};
63
64 private:
65
66 StatusCode getMdtHits(
67 const EventContext& ctx,
68 const TrigRoiDescriptor* p_roids,
69 TrigL2MuonSA::MuonRoad& muonRoad,
70 TrigL2MuonSA::MdtHits& mdtHits) const;
71
72 StatusCode collectMdtHitsFromPrepData(const EventContext& ctx,
73 const std::vector<IdentifierHash>& v_idHash,
74 TrigL2MuonSA::MdtHits& mdtHits,
75 const TrigL2MuonSA::MuonRoad& muonRoad) const;
76
78
79 // Geometry Services
80 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
81
82 // Region Selector
83 ToolHandle<IRegSelTool> m_regionSelector{this, "RegSel_MDT", "RegSelTool/RegSelTool_MDT"};
84
85 // MdtRegionDefiner
86 ToolHandle<MdtRegionDefiner> m_mdtRegionDefiner {
87 this, "MdtRegionDefiner", "TrigL2MuonSA::MdtRegionDefiner"};
88
89 // handles to data access
91 this, "MDTPrepDataContainer","MDT_DriftCircles", "Name of the MDTContainer to read in"};
92
93 Gaudi::Property<bool> m_isPhase2{this, "isPhase2", false, "if the phase 2 geometry is setup"};
94 Gaudi::Property<bool> m_use_RoIBasedDataAccess{this, "use_RoIBasedDataAccess", false};
95
96 int m_BMGid{0};
97 std::unordered_set<Identifier> m_DeadChannels{};
98 };
99
100} // namespace TrigL2MuonSA
101
102#endif //
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode collectMdtHitsFromPrepData(const EventContext &ctx, const std::vector< IdentifierHash > &v_idHash, TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::MuonRoad &muonRoad) const
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StatusCode prepareData(const EventContext &ctx, const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MdtHits &mdtHits) const
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
std::unordered_set< Identifier > m_DeadChannels
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
virtual StatusCode initialize() override
StatusCode getMdtHits(const EventContext &ctx, const TrigRoiDescriptor *p_roids, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtHits &mdtHits) const
Gaudi::Property< bool > m_use_RoIBasedDataAccess
Gaudi::Property< bool > m_isPhase2
ToolHandle< IRegSelTool > m_regionSelector
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< MdtRegionDefiner > m_mdtRegionDefiner
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepContainerKey
static const InterfaceID & interfaceID()
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
std::vector< MdtHitData > MdtHits
Definition MdtData.h:56