4#ifndef MUONGEOMETRYCNV_ReadoutGeomCnvAlg_H
5#define MUONGEOMETRYCNV_ReadoutGeomCnvAlg_H
17#include "GeoModelKernel/GeoTransform.h"
18#include "GeoModelHelpers/GeoDeDuplicator.h"
19#include "GeoModelKernel/GeoVFullPhysVol.h"
20#include "GeoModelKernel/GeoIdentifierTag.h"
34 using AthCondAlgorithm::AthCondAlgorithm;
37 StatusCode
execute(
const EventContext& ctx)
const override;
48 std::unique_ptr<MuonGM::MuonDetectorManager>
detMgr{};
69 ConstructionCache& cacheObj)
const;
80 ConstructionCache& cacheObj,
81 GeoIntrusivePtr<GeoVFullPhysVol>& clonedPhysVol,
89 ConstructionCache& cacheObj)
const;
95 ConstructionCache& cacheObj)
const;
101 ConstructionCache& cacheObj)
const;
107 ConstructionCache& cacheObj)
const;
113 ConstructionCache& cacheObj)
const;
119 ConstructionCache& cacheObj)
const;
184 Gaudi::Property<bool>
m_checkGeo{
this,
"checkGeo",
false,
"Checks the positions of the sensors"};
185 Gaudi::Property<bool>
m_dumpGeo{
this,
"dumpGeo",
false,
"Dumps the constructed geometry"};
188 Gaudi::Property<std::string>
m_geoDumpName{
this,
"geoDumpName",
"ConvMuonGeoModel.db",};
Base class for conditions algorithms.
Base class for conditions algorithms.
Readout element to describe the Monitored Drift Tube (Mdt) chambers Mdt chambers usually comrpise out...
MuonReadoutElement is an abstract class representing the geometry of a muon detector.
StatusCode buildStation(const ActsTrk::GeometryContext &gctx, const Identifier &stationId, ConstructionCache &cacheObj) const
builds a station object from readout element.
~ReadoutGeomCnvAlg()=default
Gaudi::Property< std::string > m_geoDumpName
StatusCode buildMdt(const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const
Converts all Mdt readout elements from the R4 format into the legacy Trk format.
StatusCode initialize() override
StatusCode cloneReadoutVolume(const ActsTrk::GeometryContext &gctx, const Identifier &stationId, ConstructionCache &cacheObj, GeoIntrusivePtr< GeoVFullPhysVol > &clonedPhysVol, MuonGM::MuonStation *&station) const
Clones the fullPhysical volume of the readoutElement and embeds it into the associated station.
StatusCode execute(const EventContext &ctx) const override
SG::WriteCondHandleKey< MuonGM::MuonDetectorManager > m_writeKey
Gaudi::Property< bool > m_splitTrfCache
Instantiate a new transform cache to ensure lazy transform population in the event processing.
GeoIntrusivePtr< GeoVFullPhysVol > cloneNswWedge(const ActsTrk::GeometryContext &gctx, const MuonGMR4::MuonReadoutElement &nswRE, ConstructionCache &cacheObj) const
Clones the full phyical volume associated to the NSw readout element.
StatusCode buildRpc(const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const
Converts all Rpc readout elements from the R4 format into the legacy Trk format.
StatusCode buildTgc(const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const
Converts all Tgc readout elements from the R4 format into the legacy Trk format.
Gaudi::Property< bool > m_dumpGeo
StatusCode buildSTGC(const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const
Converts all sTgc readout elements from the R4 format into the legacy Trk format.
StatusCode dumpAndCompare(const ActsTrk::GeometryContext &gctx, const MuonGMR4::RpcReadoutElement &refEle, const MuonGM::RpcReadoutElement &testEle) const
Compares the R4 readout element with the constructed Trk readout element.
StatusCode checkIdCompability(const MuonGMR4::MuonReadoutElement &refEle, const MuonGM::MuonReadoutElement &testEle) const
Checks whether the Identifier fields of both readout elements are identical.
StatusCode buildMM(const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const
Converts all Mm readout elements from the R4 format into the legacy Trk format.
SG::ReadCondHandleKeyArray< ActsTrk::DetectorAlignStore > m_alignStoreKeys
const MuonGMR4::MuonDetectorManager * m_detMgr
Gaudi::Property< bool > m_checkGeo
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
HandleKeyArray< ReadCondHandle< T >, CondHandleDefault::Key< ReadCondHandleKey< T > >, Gaudi::DataHandle::Reader > ReadCondHandleKeyArray
PVLink world
Pointer to the world.
std::unique_ptr< MuonGM::MuonDetectorManager > detMgr
Pointer to the legacy MuonDetectorManager.
GeoIntrusivePtr< GeoIdentifierTag > newIdTag()
Returns an identifier tag.
std::set< PVConstLink > translatedStations
Set of all translated Physical volumes.
ConstructionCache()=default