ATLAS Offline Software
Loading...
Searching...
No Matches
MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelRpcTest.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_GEOMODELRPCTEST_H
5#define MUONGEOMODELTESTR4_GEOMODELRPCTEST_H
6
8#include <set>
19
20namespace MuonGMR4{
21
23 public:
25
26 ~GeoModelRpcTest() = default;
27
28 StatusCode execute() override;
29 StatusCode initialize() override;
30 StatusCode finalize() override;
31
32 unsigned int cardinality() const override final { return 1; }
33
34 private:
43 void visualizeStripPanel(const EventContext& ctx,
44 const StripDesignPtr& design,
45 const Identifier& detId,
46 const bool measPhi) const;
48 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
49
50 SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
51
53 std::set<Identifier> m_testStations{};
54
56 Gaudi::Property<std::vector<std::string>> m_selectStat{this, "TestStations", {}};
57 Gaudi::Property<std::vector<std::string>> m_excludeStat{this, "ExcludeStations", {}};
58
60
61 StatusCode dumpToTree(const EventContext& ctx,
62 const ActsTrk::GeometryContext& gctx, const RpcReadoutElement* readoutEle);
63
64 MuonVal::MuonTesterTree m_tree{"RpcGeoModelTree", "GEOMODELTESTER"};
65
67 MuonVal::ScalarBranch<unsigned short>& m_stIndex{m_tree.newScalar<unsigned short>("stationIndex")};
68 MuonVal::ScalarBranch<short>& m_stEta{m_tree.newScalar<short>("stationEta")};
69 MuonVal::ScalarBranch<short>& m_stPhi{m_tree.newScalar<short>("stationPhi")};
70 MuonVal::ScalarBranch<uint8_t>& m_doubletR{m_tree.newScalar<uint8_t>("stationDoubletR")};
71 MuonVal::ScalarBranch<uint8_t>& m_doubletZ{m_tree.newScalar<uint8_t>("stationDoubletZ")};
72 MuonVal::ScalarBranch<uint8_t>& m_doubletPhi{m_tree.newScalar<uint8_t>("stationDoubletPhi")};
73 MuonVal::ScalarBranch<std::string>& m_chamberDesign{m_tree.newScalar<std::string>("chamberDesign")};
75 MuonVal::ScalarBranch<uint8_t>& m_numStripsEta{m_tree.newScalar<uint8_t>("numEtaStrips")};
76 MuonVal::ScalarBranch<uint8_t>& m_numStripsPhi{m_tree.newScalar<uint8_t>("numPhiStrips")};
77
79 MuonVal::ScalarBranch<float>& m_stripEtaPitch{m_tree.newScalar<float>("stripEtaPitch")};
80 MuonVal::ScalarBranch<float>& m_stripPhiPitch{m_tree.newScalar<float>("stripPhiPitch")};
81 MuonVal::ScalarBranch<float>& m_stripEtaWidth{m_tree.newScalar<float>("stripEtaWidth")};
82 MuonVal::ScalarBranch<float>& m_stripPhiWidth{m_tree.newScalar<float>("stripPhiWidth")};
83 MuonVal::ScalarBranch<float>& m_stripEtaLength{m_tree.newScalar<float>("stripEtaLength")};
84 MuonVal::ScalarBranch<float>& m_stripPhiLength{m_tree.newScalar<float>("stripPhiLength")};
86 MuonVal::ScalarBranch<float>& m_envelopeHeight{m_tree.newScalar<float>("envelopeHeight")};
87 MuonVal::ScalarBranch<float>& m_envelopeWidth{m_tree.newScalar<float>("envelopeWidth")};
88 MuonVal::ScalarBranch<float>& m_envelopeLength{m_tree.newScalar<float>("envelopeLength")};
89
91
92 MuonVal::ScalarBranch<uint8_t>& m_numRpcLayers{m_tree.newScalar<uint8_t>("numRpcLayers")};
93 MuonVal::ScalarBranch<uint8_t>& m_numGasGapsPhi{m_tree.newScalar<uint8_t>("numPhiGasGaps")};
94 MuonVal::ScalarBranch<uint8_t>& m_numPhiPanels{m_tree.newScalar<uint8_t>("numPhiPanels")};
98
101 MuonVal::VectorBranch<uint8_t>& m_stripRotGasGap{m_tree.newVector<uint8_t>("stripRotGasGap")};
102 MuonVal::VectorBranch<uint8_t>& m_stripRotDblPhi{m_tree.newVector<uint8_t>("stripRotDoubletPhi")};
103 MuonVal::VectorBranch<bool>& m_stripRotMeasPhi{m_tree.newVector<bool>("stripRotMeasPhi")};
104
108 MuonVal::VectorBranch<bool>& m_stripPosMeasPhi{m_tree.newVector<bool>("stripPosMeasPhi")};
109 MuonVal::VectorBranch<uint8_t>& m_stripPosGasGap{m_tree.newVector<uint8_t>("stripPosGasGap")};
110 MuonVal::VectorBranch<uint8_t>& m_stripPosNum{m_tree.newVector<uint8_t>("stripPosNum")};
111 MuonVal::VectorBranch<uint8_t>& m_stripDblPhi{m_tree.newVector<uint8_t>("stripPosDoubletPhi")};
112
114 ServiceHandle<MuonValR4::IRootVisualizationService> m_visualSvc{this, "VisualSvc", "MuonValR4::RootVisualizationService"};
118 Gaudi::Property<bool> m_visualStrips{this, "visualizePlanes", false};
119
120};
121}
122#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Property< bool > m_visualStrips
Flag toggling whether the strip planes shall be printed.
void visualizeStripPanel(const EventContext &ctx, const StripDesignPtr &design, const Identifier &detId, const bool measPhi) const
Draw the strips in the panel on a Canvas.
MuonVal::ScalarBranch< float > & m_envelopeHeight
Box dimension.
ServiceHandle< MuonValR4::IRootVisualizationService > m_visualSvc
Service handle of the visualization service.
MuonVal::CoordSystemsBranch m_stripRot
Rotation matrix of the respective layers.
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like <stationName><stationEta><A/C><stationPhi>
MuonValR4::IRootVisualizationService::ClientToken m_clientToken
Token to be presented to the visualization service.
MuonVal::ScalarBranch< uint8_t > & m_numRpcLayers
Number of eta & phi gas gaps.
MuonVal::ScalarBranch< uint8_t > & m_numStripsEta
Number of strips, strip pitch in eta & phi direction.
StatusCode dumpToTree(const EventContext &ctx, const ActsTrk::GeometryContext &gctx, const RpcReadoutElement *readoutEle)
MuonVal::ScalarBranch< unsigned short > & m_stIndex
Identifier of the readout element.
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::ScalarBranch< float > & m_stripEtaPitch
Strip dimensions.
std::set< Identifier > m_testStations
Set of stations to be tested.
Helper class to dump the Amg::Transformations into 4 three vector branches.
Helper class to dump the Amg::Transformations into a single three vector branch The first entry is th...
Property holding a SG store/key/clid from which a ReadHandle is made.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
GeoModel::TransientConstSharedPtr< StripDesign > StripDesignPtr
Definition StripDesign.h:29
Token class to identify a particular visualization client.