ATLAS Offline Software
Loading...
Searching...
No Matches
MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/src/GeoModelMdtTest.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_GEOMODELMDTTEST_H
5#define MUONGEOMODELTESTR4_GEOMODELMDTTEST_H
6
10
11
12#include <set>
22
23namespace MuonGMR4{
24
26 public:
28
29 ~GeoModelMdtTest() = default;
30
31 StatusCode execute() override;
32 StatusCode initialize() override;
33 StatusCode finalize() override;
34
35 unsigned int cardinality() const override final { return 1; }
36
37 private:
42 StatusCode visualizeTubeStaggering(const EventContext& ctx,
43 const ActsTrk::GeometryContext& gctx) const;
44
45
50 void visualizeTubeLayer(const EventContext& ctx,
51 const MuonGMR4::MdtReadoutElement& reEle,
52 const unsigned layer) const;
54 void dumpReadoutSideXML() const;
55
57 ServiceHandle<MuonValR4::IRootVisualizationService> m_visualSvc{this, "VisualSvc", "MuonValR4::RootVisualizationService"};
61
63 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
64
65 SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
66
67 SG::ReadCondHandleKey<MuonMDT_CablingMap> m_cablingKey{this, "CablingKey", "MuonMDT_CablingMap",
68 "Key of output MDT cabling map"};
69
71 std::set<Identifier> m_testStations{};
72
74 Gaudi::Property<std::vector<std::string>> m_selectStat{this, "TestStations", {}};
75 Gaudi::Property<std::vector<std::string>> m_excludeStat{this, "ExcludeStations", {}};
76
78
79 Gaudi::Property<std::string> m_swapRead{this, "ReadoutSideXML", ""};
80
81 StatusCode dumpToTree(const EventContext& ctx,
82 const ActsTrk::GeometryContext& gctx, const MdtReadoutElement* readoutEle);
83
84 MuonVal::MuonTesterTree m_tree{"MdtGeoModelTree", "GEOMODELTESTER"};
85
87 MuonVal::ScalarBranch<unsigned short>& m_stIndex{m_tree.newScalar<unsigned short>("stationIndex")};
88 MuonVal::ScalarBranch<short>& m_stEta{m_tree.newScalar<short>("stationEta")};
89 MuonVal::ScalarBranch<short>& m_stPhi{m_tree.newScalar<short>("stationPhi")};
90 MuonVal::ScalarBranch<short>& m_stML{m_tree.newScalar<short>("stationMultiLayer")};
91 MuonVal::ScalarBranch<std::string>& m_chamberDesign{m_tree.newScalar<std::string>("chamberDesign")};
92
93 MuonVal::ScalarBranch<double>& m_tubeRad{m_tree.newScalar<double>("tubeRadius")};
94 MuonVal::ScalarBranch<double>& m_tubePitch{m_tree.newScalar<double>("tubePitch")};
95
96
101 MuonVal::ScalarBranch<unsigned short>& m_numTubes{m_tree.newScalar<unsigned short>("numTubes")};
103 MuonVal::ScalarBranch<unsigned short>& m_numLayers{m_tree.newScalar<unsigned short>("numLayers")};
104
106 MuonVal::VectorBranch<unsigned short>& m_tubeLay{m_tree.newVector<unsigned short>("tubeLayer")};
107 MuonVal::VectorBranch<unsigned short>& m_tubeNum{m_tree.newVector<unsigned short>("tubeNumber")};
108
111
112 MuonVal::VectorBranch<double>& m_tubeLength{m_tree.newVector<double>("tubeLength")};
113 MuonVal::VectorBranch<double>& m_activeTubeLength{m_tree.newVector<double>("activeTubeLength")};
114 MuonVal::VectorBranch<double>& m_wireLength{m_tree.newVector<double>("wireLength")};
116 MuonVal::VectorBranch<uint8_t>& m_cablingCSM{m_tree.newVector<uint8_t>("tubeOnlCSM")};
117 MuonVal::VectorBranch<uint8_t>& m_cablingMROD{m_tree.newVector<uint8_t>("tubeOnlMROD")};
118 MuonVal::VectorBranch<uint8_t>& m_cablingTdcId{m_tree.newVector<uint8_t>("tubeOnlTdcId")};
119 MuonVal::VectorBranch<uint8_t>& m_cablingTdcCh{m_tree.newVector<uint8_t>("tubeOnlTdcCh")};
120
126 Gaudi::Property<bool> m_visualTubes{this, "visualizeTubes", true};
128 Gaudi::Property<bool> m_visualStaggering{this, "visualizeStaggering", true};
129};
130
131}
132#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< std::vector< std::string > > m_selectStat
String should be formated like <stationName><stationEta><A/C><stationPhi>
StatusCode visualizeTubeStaggering(const EventContext &ctx, const ActsTrk::GeometryContext &gctx) const
Visualize the tube staggering on a canvas.
Gaudi::Property< bool > m_visualStaggering
@briefGlag toggeling whether the tube staggering shall be visualized
MuonVal::ThreeVectorBranch m_tubePosInCh
Position of the tube in the sector frame.
MuonVal::VectorBranch< unsigned short > & m_tubeLay
Readout each tube specifically.
MuonVal::ThreeVectorBranch m_roPos
Position of the readout.
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
StatusCode dumpToTree(const EventContext &ctx, const ActsTrk::GeometryContext &gctx, const MdtReadoutElement *readoutEle)
MuonValR4::IRootVisualizationService::ClientToken m_clientTokenLayerVis
Token to be presented to the visualization service.
void visualizeTubeLayer(const EventContext &ctx, const MuonGMR4::MdtReadoutElement &reEle, const unsigned layer) const
Visualize the tube layer on a Canvas.
MuonVal::CoordSystemsBranch m_tubeTransform
Transformation to each tube.
std::set< Identifier > m_testStations
Set of stations to be tested.
void dumpReadoutSideXML() const
Create a xml indicating on which side of the chamber is the tube-readout card.
MuonVal::ScalarBranch< unsigned short > & m_numTubes
Number of tubes per layer.
MuonVal::VectorBranch< uint8_t > & m_cablingCSM
Cabling information.
MuonVal::ScalarBranch< unsigned short > & m_stIndex
Identifier of the readout element.
Gaudi::Property< bool > m_visualTubes
Flag toggling whether the tubes shall be printed.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
ServiceHandle< MuonValR4::IRootVisualizationService > m_visualSvc
Service handle of the visualization service.
MuonValR4::IRootVisualizationService::ClientToken m_clientTokenStaggeringVis
MuonVal::ScalarBranch< unsigned short > & m_numLayers
Number of tubes per layer.
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...
Token class to identify a particular visualization client.