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(const EventContext& ctx) 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 ActsTrk::GeoContextReadKey_t 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.
virtual StatusCode execute()
Execute method without EventContext (deprecated).
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.
Readout element to describe the Monitored Drift Tube (Mdt) chambers Mdt chambers usually comrpise out...
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...
SG::ReadHandleKey< GeometryContext > GeoContextReadKey_t
Abrivate the ReadHandleKey to declare the data dependency on the Geometry context.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Token class to identify a particular visualization client.