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 
22 
23 #include "Acts/Surfaces/Surface.hpp"
24 #include "Acts/Surfaces/StrawSurface.hpp"
25 #include "Acts/Surfaces/PlaneSurface.hpp"
26 
27 namespace MuonGMR4 {
28 
29 
31  public:
32  using AthReentrantAlgorithm::AthReentrantAlgorithm;
33  ~MuonChamberToolTest() = default;
34 
35  StatusCode execute(const EventContext& ctx) const override;
36  StatusCode initialize() override;
37 
38  bool isReEntrant() const override final {return false;}
39 
40  private:
41  std::array<Amg::Vector3D, 8> cornerPoints(const Acts::Volume& volume) const;
42  std::array<Amg::Vector3D, 8> cornerPoints(const Acts::GeometryContext& gctx, const Acts::StrawSurface& surface) const;
43  std::array<Amg::Vector3D, 4> cornerPoints(const Acts::GeometryContext& gctx, const Acts::PlaneSurface&) const;
45  template <class EnvelopeType>
47  const EnvelopeType& envelope) const;
48 
56  template <class EnvelopeType>
57  StatusCode pointInside(const EnvelopeType& envelope,
58  const Acts::Volume& boundVol,
59  const Amg::Vector3D& point,
60  const std::string& descr,
61  const Identifier& channelId) const;
62 
69  StatusCode pointInside(const Acts::TrackingVolume& volume,
70  const Amg::Vector3D& point,
71  const std::string& descr,
72  const Identifier& chamberId) const;
73 
80  template <class EnvelopeType>
82  const MdtReadoutElement& readOutEle,
83  const EnvelopeType& envelope,
84  const Acts::Volume& boundVol) const;
85  template <class EnvelopeType>
87  const RpcReadoutElement& readOutEle,
88  const EnvelopeType& envelope,
89  const Acts::Volume& boundVol) const;
90  template <class EnvelopeType>
92  const TgcReadoutElement& readOutEle,
93  const EnvelopeType& envelope,
94  const Acts::Volume& boundVol) const;
95  template <class EnvelopeType>
97  const sTgcReadoutElement& readOutEle,
98  const EnvelopeType& envelope,
99  const Acts::Volume& boundVol) const;
100  template <class EnvelopeType>
102  const MmReadoutElement& readOutEle,
103  const EnvelopeType& envelope,
104  const Acts::Volume& boundVol) const;
105 
106 
107 
109  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
110 
111  SG::ReadHandleKey<ActsGeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
112 
113  ServiceHandle<IActsTrackingGeometrySvc> m_trackingGeometrySvc{this, "TrackingGeometrySvc","ActsTrackingGeometrySvc"};
114 
115  const MuonDetectorManager* m_detMgr{nullptr};
116 
117 };
118 }
119 #endif
MuonGMR4::MuonChamberToolTest::m_trackingGeometrySvc
ServiceHandle< IActsTrackingGeometrySvc > m_trackingGeometrySvc
Definition: MuonChamberToolTest.h:113
MuonGMR4::MuonChamberToolTest::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonChamberToolTest.h:108
MuonGMR4::MmReadoutElement
Definition: MmReadoutElement.h:18
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsGeometryContext &gctx, const MmReadoutElement &readOutEle, const EnvelopeType &envelope, const Acts::Volume &boundVol) const
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
ActsGeometryContext.h
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:115
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< ActsGeometryContext >
MuonGMR4::RpcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:17
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsGeometryContext &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
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
sTgcReadoutElement.h
MuonGMR4::MuonChamberToolTest::isReEntrant
bool isReEntrant() const override final
Definition: MuonChamberToolTest.h:38
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:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IActsTrackingGeometrySvc.h
MuonDetectorManager.h
python.TransformConfig.descr
descr
print "%s.properties()" % self.__name__
Definition: TransformConfig.py:360
MuonGMR4::MuonChamberToolTest::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Definition: MuonChamberToolTest.h:111
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:121
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
ReadCondHandleKey.h
AthReentrantAlgorithm.h
IDetectorVolumeSvc.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::allReadoutInEnvelope
StatusCode allReadoutInEnvelope(const ActsGeometryContext &ctx, const EnvelopeType &envelope) const
Checks whether the readout elements of an enevelope are completely embedded into the envelope.
Definition: MuonChamberToolTest.cxx:100
MuonGMR4::MuonChamberToolTest::testReadoutEle
StatusCode testReadoutEle(const ActsGeometryContext &gctx, const TgcReadoutElement &readOutEle, const EnvelopeType &envelope, const Acts::Volume &boundVol) const
TgcReadoutElement.h
MuonGMR4::TgcReadoutElement
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/TgcReadoutElement.h:19
MmReadoutElement.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14