ATLAS Offline Software
TgcReadoutGeomTool.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_TgcREAOUDGEOMTOOL_H
6 #define MUONGEOMODELR4_TgcREAOUDGEOMTOOL_H
7 
10 
15 #include <GeoModelHelpers/GeoDeDuplicator.h>
16 
17 class GeoTrd;
18 namespace MuonGMR4 {
19 
20 class TgcReadoutGeomTool : public extends<AthAlgTool, IMuonReadoutGeomTool> {
21  public:
22  // Constructor
23  using base_class::base_class;
24 
26 
27  private:
31  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
32 
33  ServiceHandle<IGeoDbTagSvc> m_geoDbTagSvc{this, "GeoDbTagSvc", "GeoDbTagSvc"};
34 
35  PublicToolHandle<IMuonGeoUtilityTool> m_geoUtilTool{this,"GeoUtilTool", "" };
36 
38  struct wTgcTable {
39  std::vector<double> bottomStripPos{};
40  std::vector<double> topStripPos{};
41  std::vector<unsigned int> wireGangs{};
42  double wirePitch{0.};
43  unsigned int gasGap{0};
44  };
45  struct FactoryCache {
49  using ParamBookTable = std::unordered_map<std::string, wTgcTable>;
53  using ReadoutTable = std::map<std::string, StripLayerPtr>;
56 
62  GeoDeDuplicator trfNodeMaker{};
63  };
64 
66  StatusCode readParameterBook(FactoryCache& cache);
72  std::unique_ptr<WireGroupDesign>
73  constructWireDesign(const wTgcTable& table,
74  const GeoTrd* gapTrd) const;
79  std::unique_ptr<RadialStripDesign>
80  constructRadialDesign(const wTgcTable& table,
81  const GeoTrd* gapTrd) const;
82 
83 };
84 
85 } // namespace MuonGMR4
86 #endif
MuonGMR4::TgcReadoutGeomTool::wTgcTable::topStripPos
std::vector< double > topStripPos
Definition: TgcReadoutGeomTool.h:40
python.CaloAddPedShiftConfig.args
args
Definition: CaloAddPedShiftConfig.py:47
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonGMR4::MmReadoutElement::parameterBook
Set of parameters to describe a RPC chamber.
Definition: MmReadoutElement.h:23
MuonGMR4::TgcReadoutGeomTool::constructRadialDesign
std::unique_ptr< RadialStripDesign > constructRadialDesign(const wTgcTable &table, const GeoTrd *gapTrd) const
Constructs a new radial strip design, if the table contains radial strips.
Definition: TgcReadoutGeomTool.cxx:60
MuonGMR4::TgcReadoutGeomTool::FactoryCache::ReadoutTable
std::map< std::string, StripLayerPtr > ReadoutTable
Map to share the StripLayer readout objects across multiple readout elements.
Definition: TgcReadoutGeomTool.h:53
MuonGMR4::TgcReadoutGeomTool::wTgcTable
Helper struct to cache the essential readout parameters from the WTGC tables.
Definition: TgcReadoutGeomTool.h:38
MuonGMR4::TgcReadoutGeomTool::wTgcTable::gasGap
unsigned int gasGap
Definition: TgcReadoutGeomTool.h:43
MuonGMR4::TgcReadoutGeomTool::wTgcTable::wirePitch
double wirePitch
Definition: TgcReadoutGeomTool.h:42
MuonGMR4::TgcReadoutGeomTool::FactoryCache::trfNodeMaker
GeoDeDuplicator trfNodeMaker
Helper object to turn Amg::Transforms into GeoModel tree transform nodes.
Definition: TgcReadoutGeomTool.h:62
MuonGMR4::RadialStripDesignSet
std::set< RadialStripDesignPtr, RadialDesignSorter > RadialStripDesignSet
Definition: RadialStripDesign.h:113
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
MuonGMR4::TgcReadoutGeomTool::writeSectorMapping
StatusCode writeSectorMapping(const MuonDetectorManager &mgr) const
Map the Tgc sectors to the classical Muon System sectors.
Definition: TgcReadoutGeomTool.cxx:237
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
MuonGMR4::TgcReadoutGeomTool::constructWireDesign
std::unique_ptr< WireGroupDesign > constructWireDesign(const wTgcTable &table, const GeoTrd *gapTrd) const
Constructs a new wire group design, if the table has wires defined.
Definition: TgcReadoutGeomTool.cxx:41
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonGMR4::TgcReadoutGeomTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TgcReadoutGeomTool.h:30
AthAlgTool.h
MuonGMR4::TgcReadoutGeomTool::readParameterBook
StatusCode readParameterBook(FactoryCache &cache)
Retrieves the auxillary tables from the database.
Definition: TgcReadoutGeomTool.cxx:251
MuonGMR4::TgcReadoutGeomTool::loadDimensions
StatusCode loadDimensions(TgcReadoutElement::defineArgs &args, FactoryCache &factory)
Loads the chamber dimensions from GeoModel.
Definition: TgcReadoutGeomTool.cxx:82
MuonGMR4::TgcReadoutGeomTool::FactoryCache::wireLayouts
WireGroupDesignSet wireLayouts
Set to share equivalent WireGroupDesigns across multiple gas gaps.
Definition: TgcReadoutGeomTool.h:60
MuonGMR4::TgcReadoutGeomTool::buildReadOutElements
StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
Definition: TgcReadoutGeomTool.cxx:185
MuonGMR4::TgcReadoutGeomTool::FactoryCache::stripLayers
ReadoutTable stripLayers
Definition: TgcReadoutGeomTool.h:55
MuonGMR4::TgcReadoutElement::defineArgs
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/TgcReadoutElement.h:45
MuonGMR4::TgcReadoutGeomTool
Definition: TgcReadoutGeomTool.h:20
MuonGMR4::TgcReadoutGeomTool::FactoryCache::wireLayers
ReadoutTable wireLayers
Definition: TgcReadoutGeomTool.h:54
MuonGMR4::TgcReadoutGeomTool::FactoryCache::stripReadouts
RadialStripDesignSet stripReadouts
Set to share equivalent RadialStripDesigns across multiple gas gaps.
Definition: TgcReadoutGeomTool.h:58
python.ext.table_printer.table
list table
Definition: table_printer.py:78
MuonGMR4::TgcReadoutGeomTool::wTgcTable::bottomStripPos
std::vector< double > bottomStripPos
Definition: TgcReadoutGeomTool.h:39
MuonGMR4::TgcReadoutGeomTool::wTgcTable::wireGangs
std::vector< unsigned int > wireGangs
Definition: TgcReadoutGeomTool.h:41
MuonGMR4::WireGroupDesignSet
std::set< WireDesignPtr, WireDesignSorter > WireGroupDesignSet
Definition: WireGroupDesign.h:103
IMuonReaoutGeomTool.h
TgcReadoutElement.h
MuonGMR4::TgcReadoutGeomTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition: TgcReadoutGeomTool.h:33
MuonGMR4::TgcReadoutGeomTool::FactoryCache
Definition: TgcReadoutGeomTool.h:45
IMuonGeoUtilityTool.h
IMuonIdHelperSvc.h
IGeoDbTagSvc.h
MuonGMR4::TgcReadoutGeomTool::FactoryCache::ParamBookTable
std::unordered_map< std::string, wTgcTable > ParamBookTable
Parameter map of the Tgc technology.
Definition: TgcReadoutGeomTool.h:49
MuonGMR4::TgcReadoutGeomTool::m_geoUtilTool
PublicToolHandle< IMuonGeoUtilityTool > m_geoUtilTool
Definition: TgcReadoutGeomTool.h:35
ServiceHandle< Muon::IMuonIdHelperSvc >