ATLAS Offline Software
Loading...
Searching...
No Matches
MuonDetDescr/MuonGeoModelTest/src/GeoModelMmTest.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 MUONGEOMODELTEST_GEOMODELMMTEST_H
5#define MUONGEOMODELTEST_GEOMODELMMTEST_H
6
9#include <set>
18
19namespace MuonGM {
20
22 public:
24
25 StatusCode initialize() override;
26 StatusCode execute() override;
27 StatusCode finalize() override;
28
29 private:
30
32 // ReadCondHandleKey is a class template is used for handling and managing conditions.
33 //this declaration is creating an instance of ReadCondHandleKey specialized for MuonGM::MuonDetectorManager
34 //and associating it with "DetectorManagerKey" in the current class.
35 //The property "DetectorManagerKey" will be used to access condition data related to the MuonDetectorManager.
37 this, "DetectorManagerKey", "MuonDetectorManager",
38 "Key of input MuonDetectorManager condition data"};
39
40 // handling (like data access) for the service of related to handling muon identifiers (like MicroMegas)
42 this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
43
45 std::set<Identifier> m_testStations{};
46
50 Gaudi::Property<std::vector<std::string>> m_selectStat{
51 this, "TestStations", {}, "Constrain the stations to be tested"};
52
53 Gaudi::Property<std::vector<std::string>> m_excludeStat{this, "ExcludeStations", {}};
54 StatusCode dumpToTree(const EventContext& ctx, const MuonGM::MMReadoutElement* detEl);
55
56 MuonVal::MuonTesterTree m_tree{"MmGeoModelTree", "GEOMODELTESTER"};
57
58 MuonVal::ScalarBranch<unsigned short>& m_stationIndex{m_tree.newScalar<unsigned short>("stationIndex")};
59 MuonVal::ScalarBranch<short>& m_stationEta{m_tree.newScalar<short>("stationEta")};
60 MuonVal::ScalarBranch<short>& m_stationPhi{m_tree.newScalar<short>("stationPhi")};
61 MuonVal::ScalarBranch<int>& m_stationName{m_tree.newScalar<int>("stationName")};
62 MuonVal::ScalarBranch<short>& m_multilayer{m_tree.newScalar<short>("multilayer")};
63
64 MuonVal::ScalarBranch<float>& m_stStripPitch{m_tree.newScalar<float>("stripPitch")};
65
66 MuonVal::ScalarBranch<float>& m_moduleHeight{m_tree.newScalar<float>("moduleHeight")};
67 MuonVal::ScalarBranch<float>& m_moduleWidthS{m_tree.newScalar<float>("moduleWidthS")};
68 MuonVal::ScalarBranch<float>& m_moduleWidthL{m_tree.newScalar<float>("moduleWidthL")};
69
70 MuonVal::VectorBranch<bool>& m_isStereo{m_tree.newVector<bool>("isStereo")};
71 MuonVal::VectorBranch<short>& m_gasGap{m_tree.newVector<short>("gasGap")};
73
74 MuonVal::VectorBranch<float>& m_stripLength{m_tree.newVector<float>("stripLength")};
75 MuonVal::VectorBranch<float>& m_stripActiveLength{m_tree.newVector<float>("stripActiveLength")};
76 MuonVal::VectorBranch<float>& m_stripActiveLengthLeft{m_tree.newVector<float>("stripActiveLengthLeft")};
77 MuonVal::VectorBranch<float>& m_stripActiveLengthRight{m_tree.newVector<float>("stripActiveLengthRight")};
78
83
84 MuonVal::ScalarBranch<float>& m_ActiveHeightR{m_tree.newScalar<float>("ActiveHeightR")}; //active area's Height
85 MuonVal::ScalarBranch<float>& m_ActiveWidthS{m_tree.newScalar<float>("ActiveWidthS")}; //active area's small width
86 MuonVal::ScalarBranch<float>& m_ActiveWidthL{m_tree.newScalar<float>("ActiveWidthL")}; //active area's large width
87
88
92
93
96 MuonVal::VectorBranch<uint8_t>& m_stripRotGasGap{m_tree.newVector<uint8_t>("stripRotGasGap")};
98 MuonVal::VectorBranch<int>& m_readoutSide{m_tree.newVector<int>("stripReadoutSide")};
99
100 MuonVal::VectorBranch<unsigned>& m_firstStrip{m_tree.newVector<unsigned>("firstStrip")};
101 MuonVal::VectorBranch<unsigned>& m_nStrips{m_tree.newVector<unsigned>("nStrips")};
102
103
104};
105
106}
107#endif
unsigned int uint
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::ScalarBranch< unsigned short > & m_stationIndex
MuonVal::CoordTransformBranch m_readoutTransform
Transformation of the readout element (Translation, ColX, ColY, ColZ)
StatusCode dumpToTree(const EventContext &ctx, const MuonGM::MMReadoutElement *detEl)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Gaudi::Property< std::vector< std::string > > m_selectStat
String should be formated like MM<L or S><1 or 2><A/C><layer> Example string MML1A6 ,...
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_detMgrKey
MuonDetectorManager from the conditions store.
MuonVal::CoordSystemsBranch m_stripRot
Rotation matrix of the respective strip layers.
MuonVal::VectorBranch< uint8_t > & m_stripRotGasGap
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::VectorBranch< float > & m_stripActiveLengthRight
Gaudi::Property< std::vector< std::string > > m_excludeStat
MuonVal::VectorBranch< float > & m_stripActiveLengthLeft
std::set< Identifier > m_testStations
Set of stations to be tested.
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
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...
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27