ATLAS Offline Software
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 
27 namespace MuonGM{
28  class MdtReadoutElement;
29  class MuonStation;
30 }
31 
32 // --------------------------------------------------------------------------------
33 // --------------------------------------------------------------------------------
34 
35 namespace TrigL2MuonSA {
36 
38  {
39  public:
40 
41  static const InterfaceID& interfaceID();
42 
44 
45  virtual StatusCode initialize() override;
46 
48  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
49  TrigL2MuonSA::MuonRoad& muonRoad,
50  TrigL2MuonSA::MdtRegion& mdtRegion,
51  TrigL2MuonSA::MdtHits& mdtHits) const;
52 
54  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
55  TrigL2MuonSA::MuonRoad& muonRoad,
56  TrigL2MuonSA::MdtRegion& mdtRegion,
57  TrigL2MuonSA::MdtHits& mdtHits) const;
58 
59  void setRpcGeometry(bool use_rpc) {m_mdtRegionDefiner->setRpcGeometry(use_rpc);};
60  void setRoIBasedDataAccess(bool use_RoIBasedDataAccess){m_use_RoIBasedDataAccess = use_RoIBasedDataAccess;};
61 
62  private:
63 
65  const TrigRoiDescriptor* p_roids,
66  TrigL2MuonSA::MuonRoad& muonRoad,
67  TrigL2MuonSA::MdtHits& mdtHits) const;
68 
69  StatusCode collectMdtHitsFromPrepData(const EventContext& ctx,
70  const std::vector<IdentifierHash>& v_idHash,
71  TrigL2MuonSA::MdtHits& mdtHits,
72  const TrigL2MuonSA::MuonRoad& muonRoad) const;
73 
74  void initDeadChannels(const MuonGM::MdtReadoutElement* mydetEl);
75 
76  // Geometry Services
77  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
78 
79  // Region Selector
80  ToolHandle<IRegSelTool> m_regionSelector{this, "RegSel_MDT", "RegSelTool/RegSelTool_MDT"};
81 
82  // MdtRegionDefiner
83  ToolHandle<MdtRegionDefiner> m_mdtRegionDefiner {
84  this, "MdtRegionDefiner", "TrigL2MuonSA::MdtRegionDefiner"};
85 
86  // handles to data access
88  this, "MDTPrepDataContainer","MDT_DriftCircles", "Name of the MDTContainer to read in"};
89 
90  Gaudi::Property<bool> m_isPhase2{this, "isPhase2", false, "if the phase 2 geometry is setup"};
91  Gaudi::Property<bool> m_use_RoIBasedDataAccess{this, "use_RoIBasedDataAccess", false};
92 
93  int m_BMGid{0};
94  std::unordered_set<Identifier> m_DeadChannels{};
95  };
96 
97 } // namespace TrigL2MuonSA
98 
99 #endif //
TrigL2MuonSA::MdtDataPreparator::getMdtHits
StatusCode getMdtHits(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtHits &mdtHits) const
Definition: MdtDataPreparator.cxx:111
MdtRegionDefiner.h
IRegSelTool.h
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TrigL2MuonSA::MdtDataPreparator::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition: MdtDataPreparator.h:59
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
MdtData.h
TrigL2MuonSA::MdtHits
std::vector< MdtHitData > MdtHits
Definition: MdtData.h:56
TrigL2MuonSA::MdtDataPreparator::m_mdtRegionDefiner
ToolHandle< MdtRegionDefiner > m_mdtRegionDefiner
Definition: MdtDataPreparator.h:83
TrigL2MuonSA::MdtDataPreparator::m_isPhase2
Gaudi::Property< bool > m_isPhase2
Definition: MdtDataPreparator.h:90
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TrigL2MuonSA::MdtDataPreparator::m_mdtPrepContainerKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepContainerKey
Definition: MdtDataPreparator.h:87
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:15
TrigL2MuonSA::MdtDataPreparator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtDataPreparator.h:77
TrigL2MuonSA::MdtDataPreparator::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: MdtDataPreparator.h:80
TrigL2MuonSA::MdtDataPreparator::setRoIBasedDataAccess
void setRoIBasedDataAccess(bool use_RoIBasedDataAccess)
Definition: MdtDataPreparator.h:60
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
IMuonRdoToPrepDataTool.h
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
TrigL2MuonSA::MdtDataPreparator::prepareData
StatusCode prepareData(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MdtHits &mdtHits) const
Definition: MdtDataPreparator.cxx:74
TrigL2MuonSA::MdtDataPreparator::m_use_RoIBasedDataAccess
Gaudi::Property< bool > m_use_RoIBasedDataAccess
Definition: MdtDataPreparator.h:91
MuonMDT_CablingMap.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
RpcFitResult.h
TgcFitResult.h
TrigL2MuonSA::MdtDataPreparator::m_DeadChannels
std::unordered_set< Identifier > m_DeadChannels
Definition: MdtDataPreparator.h:94
TrigL2MuonSA::MdtDataPreparator::initialize
virtual StatusCode initialize() override
Definition: MdtDataPreparator.cxx:32
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TrigL2MuonSA::MdtDataPreparator::initDeadChannels
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
Definition: MdtDataPreparator.cxx:293
TrigL2MuonSA::MdtDataPreparator::collectMdtHitsFromPrepData
StatusCode collectMdtHitsFromPrepData(const EventContext &ctx, const std::vector< IdentifierHash > &v_idHash, TrigL2MuonSA::MdtHits &mdtHits, const TrigL2MuonSA::MuonRoad &muonRoad) const
Definition: MdtDataPreparator.cxx:144
IdentifierHash.h
TrigL2MuonSA::MdtDataPreparator::m_BMGid
int m_BMGid
Definition: MdtDataPreparator.h:93
MuonDetectorManager.h
TrigL2MuonSA::MdtDataPreparator::interfaceID
static const InterfaceID & interfaceID()
TrigL2MuonSA::MdtDataPreparator
Definition: MdtDataPreparator.h:38
TrigRoiDescriptor.h
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >