ATLAS Offline Software
MuonChamberToolTest.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONGEOMODELTESTR4_MUONCHAMBERTOOLTEST_H
5 #define MUONGEOMODELTESTR4_MUONCHAMBERTOOLTEST_H
6 
8 
16 
20 
21 
22 #include "Acts/Surfaces/Surface.hpp"
23 #include "Acts/Surfaces/StrawSurface.hpp"
24 #include "Acts/Surfaces/PlaneSurface.hpp"
25 
26 namespace MuonGMR4 {
27 
28 
30  public:
31  using AthReentrantAlgorithm::AthReentrantAlgorithm;
32  ~MuonChamberToolTest() = default;
33 
34  StatusCode execute(const EventContext& ctx) const override;
35  StatusCode initialize() override;
36 
37  bool isReEntrant() const override final {return false;}
38 
39  private:
40  std::array<Amg::Vector3D, 8> cornerPoints(const Acts::Volume& volume) const;
41  std::array<Amg::Vector3D, 8> cornerPoints(const Acts::GeometryContext& gctx, const Acts::StrawSurface& surface) const;
42  std::array<Amg::Vector3D, 4> cornerPoints(const Acts::GeometryContext& gctx, const Acts::PlaneSurface&) const;
44  template <class EnvelopeType>
46  const EnvelopeType& envelope) const;
47 
55  template <class EnvelopeType>
56  StatusCode pointInside(const EnvelopeType& envelope,
57  const Acts::Volume& boundVol,
58  const Amg::Vector3D& point,
59  const std::string& descr,
60  const Identifier& channelId) const;
61 
68  StatusCode pointInside(const Acts::TrackingVolume& volume,
69  const Amg::Vector3D& point,
70  const std::string& descr,
71  const Identifier& chamberId) const;
72 
79  template <class EnvelopeType>
81  const MdtReadoutElement& readOutEle,
82  const EnvelopeType& envelope,
83  const Acts::Volume& boundVol) const;
84  template <class EnvelopeType>
86  const RpcReadoutElement& readOutEle,
87  const EnvelopeType& envelope,
88  const Acts::Volume& boundVol) const;
89  template <class EnvelopeType>
91  const TgcReadoutElement& readOutEle,
92  const EnvelopeType& envelope,
93  const Acts::Volume& boundVol) const;
94  template <class EnvelopeType>
96  const sTgcReadoutElement& readOutEle,
97  const EnvelopeType& envelope,
98  const Acts::Volume& boundVol) const;
99  template <class EnvelopeType>
101  const MmReadoutElement& readOutEle,
102  const EnvelopeType& envelope,
103  const Acts::Volume& boundVol) const;
104 
105 
106 
108  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
109 
110  SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
111 
112  ServiceHandle<ActsTrk::ITrackingGeometrySvc> m_trackingGeometrySvc{this, "TrackingGeometrySvc","ActsTrackingGeometrySvc"};
113 
114  const MuonDetectorManager* m_detMgr{nullptr};
115 
116 };
117 }
118 #endif
MuonGMR4::MuonChamberToolTest::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonChamberToolTest.h:107
ITrackingGeometrySvc.h
MuonGMR4::MmReadoutElement
Definition: MmReadoutElement.h:18
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsTrk::GeometryContext &gctx, const TgcReadoutElement &readOutEle, const EnvelopeType &envelope, const Acts::Volume &boundVol) const
MuonGMR4::MuonChamberToolTest::~MuonChamberToolTest
~MuonChamberToolTest()=default
MuonGMR4::MuonChamberToolTest::execute
StatusCode execute(const EventContext &ctx) const override
Definition: MuonChamberToolTest.cxx:242
MuonGMR4::MuonChamberToolTest::m_detMgr
const MuonDetectorManager * m_detMgr
Definition: MuonChamberToolTest.h:114
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< ActsTrk::GeometryContext >
MuonGMR4::RpcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:17
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
MuonGMR4::MuonChamberToolTest::m_geoCtxKey
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
Definition: MuonChamberToolTest.h:110
GeometryContext.h
sTgcReadoutElement.h
MuonGMR4::MuonChamberToolTest::isReEntrant
bool isReEntrant() const override final
Definition: MuonChamberToolTest.h:37
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
MuonGMR4::MuonChamberToolTest
Definition: MuonChamberToolTest.h:29
MuonGMR4::MuonChamberToolTest::m_trackingGeometrySvc
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
Definition: MuonChamberToolTest.h:112
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsTrk::GeometryContext &gctx, const MmReadoutElement &readOutEle, const EnvelopeType &envelope, const Acts::Volume &boundVol) const
MuonDetectorManager.h
python.TransformConfig.descr
descr
print "%s.properties()" % self.__name__
Definition: TransformConfig.py:359
MuonGMR4::MuonChamberToolTest::allReadoutInEnvelope
StatusCode allReadoutInEnvelope(const ActsTrk::GeometryContext &ctx, const EnvelopeType &envelope) const
Checks whether the readout elements of an enevelope are completely embedded into the envelope.
Definition: MuonChamberToolTest.cxx:100
ActsTrk::GeometryContext
Definition: GeometryContext.h:28
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:121
ReadCondHandleKey.h
AthReentrantAlgorithm.h
MuonGMR4::MdtReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MdtReadoutElement.h:18
MuonGMR4::MuonChamberToolTest::pointInside
StatusCode pointInside(const EnvelopeType &envelope, const Acts::Volume &boundVol, const Amg::Vector3D &point, const std::string &descr, const Identifier &channelId) const
Checks whether the point is inside of an envelope object, i.e.
Definition: MuonChamberToolTest.cxx:48
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonGMR4::sTgcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/sTgcReadoutElement.h:20
RpcReadoutElement.h
Chamber.h
MuonGMR4::MuonChamberToolTest::cornerPoints
std::array< Amg::Vector3D, 8 > cornerPoints(const Acts::Volume &volume) const
Definition: MuonChamberToolTest.cxx:150
MdtReadoutElement.h
MuonGMR4::MuonChamberToolTest::initialize
StatusCode initialize() override
Definition: MuonChamberToolTest.cxx:32
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsTrk::GeometryContext &gctx, const MdtReadoutElement &readOutEle, const EnvelopeType &envelope, const Acts::Volume &boundVol) const
Checks whether all channels of a given readout element are fully covered by the envelope.
Definition: MuonChamberToolTest.cxx:334
TgcReadoutElement.h
MuonGMR4::TgcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/TgcReadoutElement.h:19
MmReadoutElement.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14