ATLAS Offline Software
Loading...
Searching...
No Matches
MmReadoutGeomTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONGEOMODELR4_MMREAOUDGEOMTOOL_H
6#define MUONGEOMODELR4_MMREAOUDGEOMTOOL_H
7
10
15#include <GeoModelHelpers/GeoDeDuplicator.h>
16
17
18namespace MuonGMR4 {
19
20class MmReadoutGeomTool : public extends<AthAlgTool, IMuonReadoutGeomTool> {
21 public:
22 // Constructor
23 using base_class::base_class;
24
25 StatusCode buildReadOutElements(MuonDetectorManager& mgr) override final;
26
27
28 private:
30 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
31
32 ServiceHandle<IGeoDbTagSvc> m_geoDbTagSvc{this, "GeoDbTagSvc", "GeoDbTagSvc"};
33
34 PublicToolHandle<IMuonGeoUtilityTool> m_geoUtilTool{this,"GeoUtilTool", "" };
35
37 struct wMMTable {
38 double stripPitch{0.};
39 double stripWidth{0.};
41 std::vector<double> stereoAngle{};
42 std::vector<int> totalActiveStrips{};
43 std::vector<int> readoutSide{};
47 std::vector<StripLayer> layers{};
48 };
49
53 struct FactoryCache {
54
55 using ParamBookTable = std::map<std::string, wMMTable>;
56 std::set<StripDesignPtr, StripDesignSorter> stripDesigns{};
57 std::set<StripLayerPtr, StripLayerSorter> stripLayers{};
58
61 GeoDeDuplicator trfNodeMaker{};
62 };
63
64
66 StatusCode readParameterBook(FactoryCache& cache);
67
70 FactoryCache& factory);
71};
72
73} // namespace MuonGMR4
74#endif
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode loadDimensions(MmReadoutElement::defineArgs &args, FactoryCache &factory)
Loads the chamber dimensions from GeoModel.
StatusCode readParameterBook(FactoryCache &cache)
Retrieves the auxillary tables from the database.
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
PublicToolHandle< IMuonGeoUtilityTool > m_geoUtilTool
StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Cache object to the wMMTable & store stripDesigns & layers to make the information available througho...
std::map< std::string, wMMTable > ParamBookTable
std::set< StripDesignPtr, StripDesignSorter > stripDesigns
GeoDeDuplicator trfNodeMaker
Helper object to turn Amg::Transforms into GeoModel tree transform nodes.
std::set< StripLayerPtr, StripLayerSorter > stripLayers
Struct to cache the relevant parameters of from the WRPC tables.