ATLAS Offline Software
RpcReadoutGeomTool.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_RPCREAOUDGEOMTOOL_H
6 #define MUONGEOMODELR4_RPCREAOUDGEOMTOOL_H
7 
10 
15 
16 #include <GeoModelHelpers/GeoDeDuplicator.h>
17 
18 class GeoBox;
19 
20 namespace MuonGMR4 {
23 class RpcReadoutGeomTool : public extends<AthAlgTool,IMuonReadoutGeomTool> {
24  public:
25  // Constructor
26  using base_class::base_class;
27 
29 
30  private:
32  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
33 
34  ServiceHandle<IGeoDbTagSvc> m_geoDbTagSvc{this, "GeoDbTagSvc", "GeoDbTagSvc"};
35 
36  PublicToolHandle<IMuonGeoUtilityTool> m_geoUtilTool{this,"GeoUtilTool", "" };
37 
39  struct wRPCTable {
41  double stripPitchEta{0.};
43  double stripPitchPhi{0.};
45  double stripWidthEta{0.};
47  double stripWidthPhi{0.};
49  double firstOffSetPhi{0.};
51  double firstOffSetEta{0.};
53  unsigned int numEtaStrips{0};
55  unsigned int numPhiStrips{0};
56  };
57 
61  struct FactoryCache {
62 
63  using ParamBookTable = std::map<std::string, wRPCTable>;
64 
65  std::set<StripDesignPtr, StripDesignSorter> stripDesigns{};
66  std::set<StripLayerPtr, StripLayerSorter> stripLayers{};
69  GeoDeDuplicator trfNodeMaker{};
70 
71  };
72 
74  StatusCode readParameterBook(FactoryCache& cache);
84  std::unique_ptr<StripDesign> constructDesign(const GeoBox* planeBox,
85  const wRPCTable& paramBook,
86  bool phiPlane) const;
87 
88 };
89 
90 } // namespace MuonGMR4
91 #endif
MuonGMR4::RpcReadoutGeomTool::loadDimensions
StatusCode loadDimensions(RpcReadoutElement::defineArgs &args, FactoryCache &factory)
Loads the chamber dimensions from GeoModel.
Definition: RpcReadoutGeomTool.cxx:70
MuonGMR4::RpcReadoutElement::defineArgs
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:48
MuonGMR4::RpcReadoutGeomTool::wRPCTable::stripWidthPhi
double stripWidthPhi
Phi strip width.
Definition: RpcReadoutGeomTool.h:47
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::RpcReadoutGeomTool::readParameterBook
StatusCode readParameterBook(FactoryCache &cache)
Retrieves the auxillary tables from the database.
Definition: RpcReadoutGeomTool.cxx:262
MuonGMR4::RpcReadoutGeomTool
Implementation to construct Rpc readout element from the list of published full physical volumes and ...
Definition: RpcReadoutGeomTool.h:23
MuonGMR4::RpcReadoutGeomTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcReadoutGeomTool.h:31
MuonGMR4::RpcReadoutGeomTool::FactoryCache::stripLayers
std::set< StripLayerPtr, StripLayerSorter > stripLayers
Definition: RpcReadoutGeomTool.h:66
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonGMR4::RpcReadoutGeomTool::wRPCTable::numEtaStrips
unsigned int numEtaStrips
Number of eta strips.
Definition: RpcReadoutGeomTool.h:53
AthAlgTool.h
MuonGMR4::RpcReadoutGeomTool::constructDesign
std::unique_ptr< StripDesign > constructDesign(const GeoBox *planeBox, const wRPCTable &paramBook, bool phiPlane) const
Constructs a new Strip design from the parameter book to describe either the phi plane or the eta str...
Definition: RpcReadoutGeomTool.cxx:49
MuonGMR4::RpcReadoutGeomTool::wRPCTable::firstOffSetEta
double firstOffSetEta
Offset of the first eta strip.
Definition: RpcReadoutGeomTool.h:51
MuonGMR4::RpcReadoutGeomTool::wRPCTable::stripPitchPhi
double stripPitchPhi
Phi strip pitch.
Definition: RpcReadoutGeomTool.h:43
MuonGMR4::RpcReadoutGeomTool::FactoryCache::ParamBookTable
std::map< std::string, wRPCTable > ParamBookTable
Definition: RpcReadoutGeomTool.h:63
MuonGMR4::RpcReadoutGeomTool::wRPCTable::stripPitchEta
double stripPitchEta
Eta strip pitch.
Definition: RpcReadoutGeomTool.h:41
MuonGMR4::RpcReadoutGeomTool::FactoryCache::stripDesigns
std::set< StripDesignPtr, StripDesignSorter > stripDesigns
Definition: RpcReadoutGeomTool.h:65
RpcReadoutElement.h
MuonGMR4::RpcReadoutGeomTool::m_geoDbTagSvc
ServiceHandle< IGeoDbTagSvc > m_geoDbTagSvc
Definition: RpcReadoutGeomTool.h:34
MuonGMR4::RpcReadoutGeomTool::FactoryCache::trfNodeMaker
GeoDeDuplicator trfNodeMaker
Helper object to turn Amg::Transforms into GeoModel tree transform nodes.
Definition: RpcReadoutGeomTool.h:69
MuonGMR4::RpcReadoutGeomTool::FactoryCache
Cache object to the wRPCTable & store stripDesigns & layers to make the information available through...
Definition: RpcReadoutGeomTool.h:61
MuonGMR4::RpcReadoutGeomTool::buildReadOutElements
StatusCode buildReadOutElements(MuonDetectorManager &mgr) override final
Definition: RpcReadoutGeomTool.cxx:204
MuonGMR4::RpcReadoutGeomTool::m_geoUtilTool
PublicToolHandle< IMuonGeoUtilityTool > m_geoUtilTool
Definition: RpcReadoutGeomTool.h:36
MuonGMR4::RpcReadoutGeomTool::wRPCTable::firstOffSetPhi
double firstOffSetPhi
Offset of the first phi strip.
Definition: RpcReadoutGeomTool.h:49
IMuonReaoutGeomTool.h
MuonGMR4::RpcReadoutGeomTool::wRPCTable::stripWidthEta
double stripWidthEta
Eta strip width.
Definition: RpcReadoutGeomTool.h:45
IMuonGeoUtilityTool.h
MuonGMR4::RpcReadoutGeomTool::wRPCTable::numPhiStrips
unsigned int numPhiStrips
Number of phi strips.
Definition: RpcReadoutGeomTool.h:55
IMuonIdHelperSvc.h
IGeoDbTagSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
MuonGMR4::RpcReadoutGeomTool::wRPCTable
Struct to cache the relevant parameters of from the WRPC tables.
Definition: RpcReadoutGeomTool.h:39