diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py index eaed2788e7079bb07f793b984cff61bcec3f0d0e..495e54eb2754f0bf1f73f1d54d462287aa085a74 100644 --- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py +++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py @@ -3,7 +3,6 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory from AthenaConfiguration.AccumulatorCache import AccumulatorCache -from AthenaConfiguration.Enums import ProductionStep from AtlasGeoModel.GeoModelConfig import GeoModelCfg from AthenaConfiguration.Enums import LHCPeriod @@ -45,17 +44,9 @@ def MuonDetectorToolCfg(flags, name = "MuonDetectorTool", **kwargs): kwargs.setdefault("HasCSC", flags.Detector.GeometryCSC) kwargs.setdefault("HasSTgc", flags.Detector.GeometrysTGC) kwargs.setdefault("HasMM", flags.Detector.GeometryMM) - kwargs.setdefault("UseConditionDb", flags.Muon.enableAlignment) - # call fill cache of MuonDetectorTool such that all MdtReadoutElement caches are filled - # already during initialize() -> this will increase memory -> needs to be measured - kwargs.setdefault("FillCacheInitTime", flags.Common.ProductionStep != ProductionStep.Simulation or \ - flags.Muon.enableAlignment) - kwargs.setdefault("UseAsciiConditionData", flags.Muon.enableAlignment) - # turn on/off caching of MdtReadoutElement surfaces - kwargs.setdefault("CachingFlag", 1) UseIlinesFromGM = False EnableCscInternalAlignment = False @@ -225,5 +216,5 @@ def MuonDetectorCondAlgCfg(flags, name = "MuonDetectorCondAlg", **kwargs): def MuonGeoModelToolCfg(flags): result = ComponentAccumulator() geoModelSvc = result.getPrimaryAndMerge(GeoModelCfg(flags)) - geoModelSvc.DetectorTools+= [result.popToolsAndMerge(MuonDetectorToolCfg(flags, FillCacheInitTime = 0))] + geoModelSvc.DetectorTools+= [result.popToolsAndMerge(MuonDetectorToolCfg(flags))] return result diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/CscReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/CscReadoutElement.h index 59ec717a6c03005a83fc8c11475d4fcb5fcb5b40..2ba993dfd7b3ae7ab22b7cb0ba14c5dc95c8f719 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/CscReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/CscReadoutElement.h @@ -256,10 +256,6 @@ namespace MuonGM { double sinStereo(const Identifier& stripId) const; virtual void fillCache() override; - virtual void refreshCache() override { - clearCache(); - fillCache(); - } double xCoordinateInTrackingFrame(const Identifier& id) const; private: diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MMReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MMReadoutElement.h index dd4f02e5476dd0863e6e83f554efc202801e8e4f..cc16c4e2c8e58c15fb440a44d073bdacd4ec3181 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MMReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MMReadoutElement.h @@ -89,7 +89,6 @@ namespace MuonGM { /** @brief function to fill tracking cache */ virtual void fillCache() override final; - virtual void refreshCache() override final; /** @brief returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tracking cache */ virtual int surfaceHash(const Identifier& id) const override final; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h index 4ff527a019c871c24154424e5e3e6965c407bbdf..9db3cad652ac93754dff67e0c1721c3d523b2796 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h @@ -158,11 +158,8 @@ namespace MuonGM { //// Tracking interfaces //////////////////////////////////////////////////////////// - void clearCache() override; - void fillCache() override; - void refreshCache() override { clearCache(); } - void clearBLineCache(); - void fillBLineCache(); + void clearCache() override final; + void fillCache() override final; virtual const Trk::Surface& surface() const override final; virtual const Trk::SaggedLineSurface& surface(const Identifier& id) const override final; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonClusterReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonClusterReadoutElement.h index 4e9f5c6534a8089f2abbf1eb198444ab6096ece3..eb91db67ce496e97cbe8dbba4368610a30b6b98f 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonClusterReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonClusterReadoutElement.h @@ -75,10 +75,7 @@ namespace MuonGM { virtual int numberOfStrips(int layer, bool measuresPhi) const = 0; /** clear the cache of the readout elememt */ - virtual void clearCache() override; - - /** fill the cache of the readout element, to be implemented by the concrete implementations */ - virtual void fillCache() override = 0; + virtual void clearCache() override final; /** access to chamber surface (phi orientation), uses the first gas gap */ virtual const Trk::PlaneSurface& surface() const override; @@ -120,9 +117,6 @@ namespace MuonGM { MuonClusterReadoutElement(GeoVFullPhysVol* pv, MuonDetectorManager* mgr, Trk::DetectorElemType detType); - void shiftSurface(const Identifier& id); - void restoreSurfaces(); - std::unique_ptr<SurfaceData> m_surfaceData{}; }; @@ -138,8 +132,6 @@ namespace MuonGM { inline const Amg::Vector3D& MuonClusterReadoutElement::normal(const Identifier& id) const { return normal(layerHash(id)); } inline const Trk::SurfaceBounds& MuonClusterReadoutElement::bounds(const Identifier& id) const { return bounds(boundaryHash(id)); } - inline void MuonClusterReadoutElement::clearCache() { m_surfaceData.reset(); } - inline const Trk::PlaneSurface& MuonClusterReadoutElement::surface(int hash) const { if (!m_surfaceData) { ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" "<<__func__<<" Requesting surface but cache is empty"); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h index 5225280e2d73633ddefc763882d1528b596aab36..8c62d738383dc3a56c1355083d8d23434a684e51 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h @@ -127,10 +127,6 @@ namespace MuonGM { void setGenericTgcDescriptor(const GenericTGCCache& tc); inline const GenericTGCCache* getGenericTgcDescriptor() const; - void setCachingFlag(int value); - inline int cachingFlag() const; - void setCacheFillingFlag(int value); - inline int cacheFillingFlag() const; void setMinimalGeoFlag(int flag); inline int MinimalGeoFlag() const; @@ -202,30 +198,8 @@ namespace MuonGM { static std::string muonStationKey(const std::string& stName, int statEtaIndex, int statPhiIndex) ; void clearCache(); - void refreshCache(); void fillCache(); - void clearMdtCache(); - void clearRpcCache(); - void clearCscCache(); - void clearTgcCache(); - void clearsTgcCache(); - void clearMMCache(); - - void refreshMdtCache(); - void refreshRpcCache(); - void refreshCscCache(); - void refreshTgcCache(); - void refreshsTgcCache(); - void refreshMMCache(); - - void fillMdtCache(); - void fillRpcCache(); - void fillCscCache(); - void fillTgcCache(); - void fillsTgcCache(); - void fillMMCache(); - StatusCode updateAlignment(const ALineContainer& a); StatusCode updateDeformations(const BLineContainer& a); StatusCode updateMdtAsBuiltParams(const MdtAsBuiltContainer& a); @@ -261,8 +235,6 @@ namespace MuonGM { /// detector element int rpcIdentToArrayIdx(const Identifier& id, int& dbz_index) const; - int m_cachingFlag{1}; - int m_cacheFillingFlag{1}; int m_minimalgeo{0}; int m_includeCutouts{0}; int m_includeCutoutsBog{0}; @@ -365,9 +337,6 @@ namespace MuonGM { unsigned int MuonDetectorManager::nRpcDE() const { return m_n_rpcDE; } unsigned int MuonDetectorManager::nTgcDE() const { return m_n_tgcDE; } - int MuonDetectorManager::cacheFillingFlag() const { return m_cacheFillingFlag; } - int MuonDetectorManager::cachingFlag() const { return m_cachingFlag; } - } // namespace MuonGM #ifndef GAUDI_NEUTRAL diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h index 43524f6e2461bbb046fadce4d6e54c35bf13c3cd..4cd86f492ab9f81d74530589bf23d10787e87af4 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h @@ -129,11 +129,9 @@ namespace MuonGM { // Tracking related interfaces // Element Surface // This creates a new surface. The client is responsible for deleting it. - inline int cachingFlag() const; - void setCachingFlag(int value); virtual void clearCache() = 0; virtual void fillCache() = 0; - virtual void refreshCache() = 0; + void refreshCache(); const Muon::IMuonIdHelperSvc* idHelperSvc() const { return m_idHelperSvc.get(); } @@ -208,7 +206,6 @@ namespace MuonGM { bool MuonReadoutElement::sideA() const { return (getStationEta() > 0); } bool MuonReadoutElement::sideC() const { return (getStationEta() < 0); } - int MuonReadoutElement::cachingFlag() const { return m_caching; } inline const Amg::Transform3D& MuonReadoutElement::absTransform() const { return getMaterialGeom()->getAbsoluteTransform(); } diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonStation.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonStation.h index 8c4ae37e4acd5172bc1819222aedd108cef5e961..115e0a60e01ba7398a806b0def60e868281b4b23 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonStation.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonStation.h @@ -101,10 +101,8 @@ namespace MuonGM { inline int nMuonReadoutElements() const; void clearCache(); - void refreshCache(); void fillCache(); - void clearBLineCache(); - void fillBLineCache(); + void refreshCache(); void setBline(const BLinePar* bline); inline GeoAlignableTransform* getGeoTransform() const; inline Amg::Transform3D getTransform() const; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h index 1b20261331eca68b329eed877a1139f62004905e..7a46518e024657117d33f3e1913f1897071a61ed 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h @@ -136,10 +136,6 @@ namespace MuonGM { /** @brief function to fill tracking cache */ virtual void fillCache() override final; - virtual void refreshCache() override final { - clearCache(); - fillCache(); - } /** @brief returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tracking cache */ virtual int surfaceHash(const Identifier& id) const override final; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h index 686a0f8ec89ccbdf61d048ff4de11aa33185bd0e..e30b3850c45d950a1a6c620ec89a6ad599fd5a6b 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h @@ -258,10 +258,6 @@ namespace MuonGM { inline const TgcReadoutParams* getReadoutParams() const; virtual void fillCache() override; - virtual void refreshCache() override { - clearCache(); - fillCache(); - } private: int m_ngasgaps{0}; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h index 5a6064be33cbe15f29a6e99717b6fe609799eab1..40060a49b9e85ffff7fc1c8936443445ddc90576 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h @@ -130,10 +130,6 @@ namespace MuonGM { /** @brief function to fill tracking cache */ virtual void fillCache() override final; - virtual void refreshCache() override final { - clearCache(); - fillCache(); - } /** @brief returns the hash to be used to look up the surface and transform in the MuonClusterReadoutElement tracking cache */ virtual int surfaceHash(const Identifier& id) const override final; diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/CscReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/CscReadoutElement.cxx index 5dbcd9355e609122e720810cb83cc370f22f17b5..24140c62d0c7971304cbdf77666d06d337d46d32 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/CscReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/CscReadoutElement.cxx @@ -39,8 +39,7 @@ namespace MuonGM { CscReadoutElement::CscReadoutElement(GeoVFullPhysVol* pv, const std::string& stName, MuonDetectorManager* mgr) : MuonClusterReadoutElement(pv, mgr, Trk::DetectorElemType::Csc) { // Set a few parameters here. The rest are set in MuonChamber::setCscReadoutGeometry - // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); + // st name setStationName(stName); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx index 1704ed3dfe5628c49734da8d8ecb2a5335e76974..8ed7a6ed2e9cdefee7cc446741efeda411131e00 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MMReadoutElement.cxx @@ -52,10 +52,6 @@ namespace MuonGM { m_passivData(passivData), m_ml(mL) { - - // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); - std::string fixName = (stName[2] == 'L') ? "MML" : "MMS"; setStationName(fixName); setChamberLayer(mL); @@ -138,7 +134,7 @@ namespace MuonGM { //============================================================================ - MMReadoutElement::~MMReadoutElement() { clearCache(); } + MMReadoutElement::~MMReadoutElement() = default; //============================================================================ void MMReadoutElement::initDesign() { @@ -397,7 +393,6 @@ namespace MuonGM { //============================================================================ void MMReadoutElement::setDelta(const ALinePar& aline) { - // amdb frame (s, z, t) = chamber frame (y, z, x) if (aline) { m_delta = aline.delta(); @@ -487,11 +482,6 @@ namespace MuonGM { locPosML[2] += dz; } - void MMReadoutElement::refreshCache() { - clearCache(); - fillCache(); - } - //============================================================================ bool MMReadoutElement::spacePointPosition(const Identifier& layerId, const Amg::Vector2D& lpos, Amg::Vector3D& pos) const { diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx index 53f4d441b6317f2b33fbdfc2641b3b47f72dc129..34295dc08071a71cc1eb824bfa211189200d857f 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MdtReadoutElement.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ /*************************************************************************** @@ -16,6 +16,8 @@ #include "GeoModelKernel/GeoTube.h" #include "GeoModelUtilities/GeoGetIds.h" #include "GeoPrimitives/GeoPrimitivesHelpers.h" +#include "GeoPrimitives/GeoPrimitivesToStringConverter.h" + #include "MuonAlignmentData/BLinePar.h" #include "MuonIdHelpers/MdtIdHelper.h" @@ -57,8 +59,6 @@ namespace MuonGM { MdtReadoutElement::MdtReadoutElement(GeoVFullPhysVol* pv, const std::string& stName, MuonDetectorManager* mgr) : MuonReadoutElement(pv, mgr, Trk::DetectorElemType::Mdt) { // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); - m_inBarrel = stName[0]== 'B'; setStationName(stName); @@ -141,8 +141,7 @@ namespace MuonGM { found = true; } ++kk; - }, - &*cv); + }, cv); if (found) { ATH_MSG_DEBUG( " MdtReadoutElement tube match found for BMG - input : tube(" << tube << "), layer(" << tubeLayer << ") - output match : tube(" << ii % maxNTubesPerLayer << "), layer(" << ii / maxNTubesPerLayer @@ -816,12 +815,6 @@ namespace MuonGM { const Trk::SaggedLineSurface& MdtReadoutElement::surface(const int tubeLayer, const int tube) const { - - - - - - int ntot_tubes = m_nlayers * m_ntubesperlayer; int itube = (tubeLayer - 1) * m_ntubesperlayer + tube - 1; // consistency checks @@ -916,21 +909,6 @@ namespace MuonGM { } return *m_associatedBounds; } - - void MdtReadoutElement::fillBLineCache() { - ATH_MSG_DEBUG( "Filling BLine cache for ReadoutElement " << idHelperSvc()->toStringDetEl(identify())); - for (int tubeL = 1; tubeL <= m_nlayers; ++tubeL) { - for (int tube = 1; tube <= m_ntubesperlayer; ++tube) { fromIdealToDeformed(tubeL, tube); } - } - } - void MdtReadoutElement::clearBLineCache() { - ATH_MSG_VERBOSE( "Clearing BLine cache for ReadoutElement " << idHelperSvc()->toStringDetEl(identify())); - if (m_haveDeformTransf) { - m_haveDeformTransf = false; - for (auto& d : m_deformTransf) { d.release(); } - } - } - void MdtReadoutElement::clearCache() { ATH_MSG_DEBUG( "Clearing cache for ReadoutElement " << idHelperSvc()->toStringDetEl(identify()) ); if (m_associatedSurface) { @@ -954,13 +932,20 @@ namespace MuonGM { m_haveTubeBounds = false; for (auto& b : m_tubeBounds) { b.release(); } } - // reset here the deform-related transforms - clearBLineCache(); + // reset here the deform-related transforms + if (m_haveDeformTransf) { + m_haveDeformTransf = false; + for (auto& d : m_deformTransf) { d.release(); } + } } void MdtReadoutElement::setBLinePar(const BLinePar* bLine) { ATH_MSG_DEBUG( "Setting B-line for " << idHelperSvc()->toStringDetEl(identify()) ); + if (m_BLinePar == bLine) { + return; + } m_BLinePar = bLine; + refreshCache(); } void MdtReadoutElement::fillCache() { @@ -978,8 +963,8 @@ namespace MuonGM { #endif const Trk::CylinderBounds* tmpCil = nullptr; const Trk::SaggedLineSurface* tmpSaggL = nullptr; - Amg::Vector3D myPoint; - Amg::Transform3D myTransform; + Amg::Vector3D myPoint{Amg::Vector3D::Zero()}; + Amg::Transform3D myTransform{Amg::Transform3D::Identity()}; for (int tl = 1; tl <= getNLayers(); ++tl) { for (int tube = 1; tube <= getNtubesperlayer(); ++tube) { // in case of BMG chambers, do not check the 'dead' tubes @@ -1006,7 +991,7 @@ namespace MuonGM { #ifndef NDEBUG if (found) { ATH_MSG_VERBOSE( "tubeLayer/tube " << tl << " " << tube << " transform at origin " - << myTransform * Amg::Vector3D::Zero() ); + << Amg::toString(myTransform.linear()) ); ATH_MSG_VERBOSE( "tubeLayer/tube " << tl << " " << tube << " tube center " << myPoint ); ATH_MSG_VERBOSE( "tubeLayer/tube " << tl << " " << tube << " tube bounds pointer " << tmpCil ); ATH_MSG_VERBOSE( "tubeLayer/tube " << tl << " " << tube << " tube surface pointer " << tmpSaggL ); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonClusterReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonClusterReadoutElement.cxx index c29722cf9bda15b0fc7b0e2c8d69027a12e8c1f7..a50654afbf74d10e544e1661da97642896f02e6f 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonClusterReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonClusterReadoutElement.cxx @@ -10,11 +10,6 @@ namespace MuonGM { MuonClusterReadoutElement::~MuonClusterReadoutElement() = default; - void MuonClusterReadoutElement::shiftSurface(const Identifier&) { fillCache(); } - - void MuonClusterReadoutElement::restoreSurfaces() { - m_surfaceData.reset(); - fillCache(); - } + void MuonClusterReadoutElement::clearCache() { m_surfaceData.reset(); } } // namespace MuonGM diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx index c8ff1b8f4d81eb0baeb355c1a4b0914adeffc051..26672988fab702a2f2f272aff82cba19341091c3 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx @@ -41,73 +41,23 @@ namespace MuonGM { if (ele) ele->fillCache(); } } - template <typename read_out, size_t N> void MuonDetectorManager::refreshCache(std::array<std::unique_ptr<read_out>, N>& array) { - for (std::unique_ptr<read_out>& ele : array) { - if (!ele) continue; - ele->clearCache(); - ele->fillCache(); - } - } - void MuonDetectorManager::clearCache() { - clearMdtCache(); - clearRpcCache(); - clearTgcCache(); - clearCscCache(); - } - void MuonDetectorManager::refreshCache() { - refreshMdtCache(); - refreshRpcCache(); - refreshTgcCache(); - refreshCscCache(); - } - void MuonDetectorManager::refreshMdtCache() { - // NEED to fill since FillCacheInitTime = 1 is the default now. - refreshCache(m_mdtArray); - } - void MuonDetectorManager::refreshRpcCache() { refreshCache(m_rpcArray); } - void MuonDetectorManager::refreshTgcCache() { refreshCache(m_tgcArray); } - void MuonDetectorManager::refreshCscCache() { - if (nCscRE()) refreshCache(m_cscArray); - } - void MuonDetectorManager::refreshMMCache() { - if (nMMRE()) refreshCache(m_mmcArray); - } - void MuonDetectorManager::refreshsTgcCache() { - if (nsTgcRE()) refreshCache(m_stgArray); - } - - void MuonDetectorManager::clearMdtCache() { clearCache(m_mdtArray); } - void MuonDetectorManager::clearRpcCache() { clearCache(m_rpcArray); } - void MuonDetectorManager::clearTgcCache() { clearCache(m_tgcArray); } - void MuonDetectorManager::clearCscCache() { - if (nCscRE()) clearCache(m_cscArray); - } - void MuonDetectorManager::clearMMCache() { - if (nMMRE()) clearCache(m_mmcArray); - } - void MuonDetectorManager::clearsTgcCache() { - if (nsTgcRE()) clearCache(m_stgArray); - } - void MuonDetectorManager::fillMMCache() { - if (nMMRE()) fillCache(m_mmcArray); - } - void MuonDetectorManager::fillsTgcCache() { - if (nsTgcRE()) fillCache(m_stgArray); - } - void MuonDetectorManager::fillCache() { - + void MuonDetectorManager::clearCache() { + clearCache(m_mdtArray); + clearCache(m_rpcArray); + clearCache(m_tgcArray); + if (nCscRE()) clearCache(m_cscArray); + if (nMMRE()) clearCache(m_mmcArray); + if (nsTgcRE()) clearCache(m_stgArray); + } + void MuonDetectorManager::fillCache() { ATH_MSG_INFO( "Filling cache" ); - fillMdtCache(); - fillRpcCache(); - fillTgcCache(); - fillCscCache(); - } - void MuonDetectorManager::fillMdtCache() { fillCache(m_mdtArray); } - void MuonDetectorManager::fillRpcCache() { fillCache(m_rpcArray); } - void MuonDetectorManager::fillTgcCache() { fillCache(m_tgcArray); } - void MuonDetectorManager::fillCscCache() { + fillCache(m_mdtArray); + fillCache(m_rpcArray); + fillCache(m_tgcArray); if (nCscRE()) fillCache(m_cscArray); + if (nMMRE()) fillCache(m_mmcArray); + if (nsTgcRE()) fillCache(m_stgArray); } unsigned int MuonDetectorManager::getNumTreeTops() const { return m_envelope.size(); } @@ -490,12 +440,9 @@ namespace MuonGM { ALine.getParameter(Parameter::rotS), ALine.getParameter(Parameter::rotZ), ALine.getParameter(Parameter::rotT)); - if (cacheFillingFlag()) { - thisStation->clearCache(); - thisStation->fillCache(); - } else { - thisStation->refreshCache(); - } + + thisStation->clearCache(); + thisStation->fillCache(); } else { // job different than 0 (standard for TGC conditions for Sept 2010 repro.) ATH_MSG_DEBUG( "Setting delta transform for component " << ALine); @@ -506,12 +453,9 @@ namespace MuonGM { ALine.getParameter(Parameter::rotS), ALine.getParameter(Parameter::rotZ), ALine.getParameter(Parameter::rotT)); - if (cacheFillingFlag()) { - thisStation->getMuonReadoutElement(job)->clearCache(); - thisStation->getMuonReadoutElement(job)->fillCache(); - } else { - thisStation->getMuonReadoutElement(job)->refreshCache(); - } + + thisStation->getMuonReadoutElement(job)->refreshCache(); + } nUpdates++; } @@ -586,9 +530,7 @@ namespace MuonGM { continue; } ATH_MSG_DEBUG( "Setting deformation parameters for Station " << stType << " " << jzz << " " << jff << " "); - thisStation->clearBLineCache(); - thisStation->setBline(&BLine); - if (cacheFillingFlag()) thisStation->fillBLineCache(); + thisStation->setBline(&BLine); nUpdates++; } else { ATH_MSG_WARNING("BLinePar with AmdbId " << stType << " " << jzz << " " << jff << " " << job << " has JOB not 0 "); @@ -631,13 +573,9 @@ namespace MuonGM { ATH_MSG_ERROR( "The CSC I-lines container includes stations which are no CSCs! This is impossible." ); else { CscRE->setCscInternalAlignmentPar(ILine); - } - if (cacheFillingFlag()) { - thisStation->clearCache(); - thisStation->fillCache(); - } else { - thisStation->refreshCache(); - } + } + thisStation->refreshCache(); + nUpdates++; } else { @@ -671,9 +609,7 @@ namespace MuonGM { if (thisStation) { ATH_MSG_DEBUG( "Setting as-built parameters for Station " << AsBuiltPar ); - thisStation->clearBLineCache(); thisStation->setMdtAsBuiltParams(&AsBuiltPar); - if (cacheFillingFlag()) thisStation->fillBLineCache(); nUpdates++; } else { ATH_MSG_WARNING("MdtAsBuiltPar with AmdbId " <<AsBuiltPar @@ -783,8 +719,6 @@ namespace MuonGM { m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIL, rpcHelper.stationNameIndex("BIL"))); m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIS, rpcHelper.stationNameIndex("BIS"))); } - void MuonDetectorManager::setCacheFillingFlag(int value) { m_cacheFillingFlag = value; } - void MuonDetectorManager::setCachingFlag(int value) { m_cachingFlag = value; } void MuonDetectorManager::set_DBMuonVersion(const std::string& version) { m_DBMuonVersion = version; } void MuonDetectorManager::setGeometryVersion(const std::string& version) { m_geometryVersion = version; } void MuonDetectorManager::setMinimalGeoFlag(int flag) { m_minimalgeo = flag; } diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx index 0082625a3422050a494472462d522fa9cb5033e4..dc0cdd381f1bd7fe31d4afe3c20aacc4d7076fe8 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx @@ -174,5 +174,8 @@ namespace MuonGM { void MuonReadoutElement::setSsize(double v) { m_Ssize = v; } void MuonReadoutElement::setRsize(double v) { m_Rsize = v; } void MuonReadoutElement::setZsize(double v) { m_Zsize = v; } - void MuonReadoutElement::setCachingFlag(int value) { m_caching = value; } + void MuonReadoutElement::refreshCache() { + clearCache(); + fillCache(); + } } // namespace MuonGM diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonStation.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonStation.cxx index d6efadb4f56959430234def166c84fb3eac6b3fa..545c47df046b1e24f09b400274ab2368d7c82a58 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonStation.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonStation.cxx @@ -234,20 +234,6 @@ namespace MuonGM { } } - void MuonStation::refreshCache() { - ATH_MSG_DEBUG("n. of RE in this station is " << m_REwithAlTransfInStation.size()); - for (auto& [jobId, readAlignPair] : m_REwithAlTransfInStation) { - ATH_MSG_DEBUG("refreshCache cache .... for RE ... iteration n. " << jobId); - MuonReadoutElement* re = readAlignPair.first; - if (!re) { - ATH_MSG_WARNING(" in MuonStation:refreshCache " << getStationType() << " at zi/fi " << getEtaIndex() << "/" - << getPhiIndex() << " trying to get a not existing RE (iteration n. ) " << jobId << " RE is null, skipping" ); - continue; - } - re->refreshCache(); - } - } - void MuonStation::fillCache() { for (auto& [jobId, readAlignPair] : m_REwithAlTransfInStation) { ATH_MSG_DEBUG("fillCache cache .... for RE ... iteration n. " << jobId); @@ -261,6 +247,11 @@ namespace MuonGM { } } + void MuonStation::refreshCache() { + clearCache(); + fillCache(); + } + void MuonStation::setBline(const BLinePar* bline) { m_hasBLines = true; for (auto& [jobId, readAlignPair] : m_REwithAlTransfInStation) { @@ -279,36 +270,6 @@ namespace MuonGM { } } - void MuonStation::clearBLineCache() { - for (auto& [jobId, readAlignPair] : m_REwithAlTransfInStation) { - MuonReadoutElement* re = readAlignPair.first; - if (!re) { - ATH_MSG_WARNING(" in MuonStation:clearBLineCache " << getStationType() << " at zi/fi " << getEtaIndex() << "/" - << getPhiIndex() << " trying to get a not existing RE (iteration n. ) " << jobId << " RE is null, skipping"); - continue; - } - if (re->detectorType() !=Trk::DetectorElemType::Mdt) { - continue; - } - MdtReadoutElement* mdt = dynamic_cast<MdtReadoutElement*>(re); - mdt->clearBLineCache(); - } - } - void MuonStation::fillBLineCache() { - for (auto& [jobId, readAlignPair] : m_REwithAlTransfInStation) { - MuonReadoutElement* re = readAlignPair.first; - if (!re) { - ATH_MSG_WARNING(" in MuonStation:fillBLineCache " << getStationType() << " at zi/fi " << getEtaIndex() << "/" - << getPhiIndex() << " trying to get a non existing RE, skipping "<<jobId); - continue; - } - if (re->detectorType() !=Trk::DetectorElemType::Mdt) { - continue; - } - MdtReadoutElement* mdt = dynamic_cast<MdtReadoutElement*>(re); - mdt->fillBLineCache(); - } - } #if defined(FLATTEN) // We compile this package with optimization, even in debug builds; otherwise, @@ -400,7 +361,10 @@ namespace MuonGM { return m_XTomoData; } - void MuonStation::setMdtAsBuiltParams(const MdtAsBuiltPar* xtomo) { m_XTomoData = xtomo; } + void MuonStation::setMdtAsBuiltParams(const MdtAsBuiltPar* xtomo) { + m_XTomoData = xtomo; + refreshCache(); + } void MuonStation::setPhysVol(const PVLink& vol) { m_physVol = vol; } PVConstLink MuonStation::getPhysVol() const {return m_physVol; } PVLink MuonStation::getPhysVol() { return m_physVol; } diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx index fac4089f3d83ec66624d6834b04da1c15fe0fe59..16332f6961a8d216718ace8fbd6b853024037cfb 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx @@ -41,9 +41,6 @@ namespace MuonGM { m_mirrored{is_mirrored} { std::string gVersion = manager()->geometryVersion(); - // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); - m_descratzneg = (zi < 0 && !is_mirrored); @@ -78,7 +75,7 @@ namespace MuonGM { } } - RpcReadoutElement::~RpcReadoutElement() { clearCache(); } + RpcReadoutElement::~RpcReadoutElement() = default; double RpcReadoutElement::localStripSCoord(int doubletZ, int doubletPhi, bool measphi , int strip) const { if ((doubletZ != m_dbZ && m_netastrippanels == 1) || (m_netastrippanels != 1 && (doubletZ < 1 || doubletZ > m_netastrippanels))) { diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/TgcReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/TgcReadoutElement.cxx index 69f78e08f40fe9f0cd244d46cd0b4b9a62789b61..966047ddbb8cf875f6ce3fbc9c0088831a9a0359 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/TgcReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/TgcReadoutElement.cxx @@ -34,10 +34,9 @@ namespace MuonGM { MuonClusterReadoutElement(pv, mgr, Trk::DetectorElemType::Tgc) { setStationName(stName); // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); } - TgcReadoutElement::~TgcReadoutElement() { clearCache(); } + TgcReadoutElement::~TgcReadoutElement() = default; Amg::Transform3D TgcReadoutElement::localToGlobalTransf(int gasGap) const { const Amg::Vector3D gasgapP = localGasGapPos(gasGap); diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx index 3951328c725a1c24b713204245e762e17d879bfe..5ff7efb2d662dc5186a1d332fd38e67662b51f28 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx @@ -52,9 +52,6 @@ namespace MuonGM { : MuonClusterReadoutElement(pv, mgr, Trk::DetectorElemType::sTgc) , m_ml(mL) { - // get the setting of the caching flag from the manager - setCachingFlag(mgr->cachingFlag()); - std::string fixName = (stName[1] == 'L') ? "STL" : "STS"; Identifier id = mgr->stgcIdHelper()->channelID(fixName, zi, fi, mL, 1, 2, 1); @@ -116,7 +113,7 @@ namespace MuonGM { //============================================================================ - sTgcReadoutElement::~sTgcReadoutElement() { clearCache(); } + sTgcReadoutElement::~sTgcReadoutElement() = default; //============================================================================ void sTgcReadoutElement::initDesign(double /*largeX*/, double /*smallX*/, double /*lengthY*/, double /*stripPitch*/, diff --git a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorFactory001.h b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorFactory001.h index dee338cea8c33a7c65160233a050f9bc771e910b..42ca0e03128a598d7e7bf1d88ae411deeb4dddb5 100644 --- a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorFactory001.h +++ b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorFactory001.h @@ -56,7 +56,6 @@ namespace MuonGM { inline void setSelection(const std::vector<std::string>&, const std::vector<int>&, const std::vector<int>&); - inline void setCachingFlag(int value); inline void setDumpMemoryBreakDown(bool value); inline void setCacheFillingFlag(int value); inline void setMdtDeformationFlag(int mdtDeformationFlag); @@ -67,8 +66,8 @@ namespace MuonGM { inline void hasMM(bool value); inline void setNSWAsBuiltAsciiPath(const std::string &, const std::string &); - inline void disableBEEShift(bool flag); - inline bool BEEShiftDisabled() const; + inline void disableBEEShift(bool flag); + inline bool BEEShiftDisabled() const; private: @@ -87,15 +86,13 @@ namespace MuonGM { int m_rdb{1}; int m_minimalGeoFlag{0}; - - int m_caching{0}; - int m_cacheFillingFlag{0}; bool m_dumpMemoryBreakDown{false}; int m_enableFineClashFixing{0}; bool m_hasCSC{true}; bool m_hasSTgc{true}; bool m_hasMM{true}; - bool m_disableBEEShift{false}; + + bool m_disableBEEShift{false}; std::vector<std::string> m_selectedStations; std::vector<int> m_selectedStEta; @@ -131,8 +128,6 @@ namespace MuonGM { m_selectedStPhi = vphi; } - void MuonDetectorFactory001::setCachingFlag(int value) { m_caching = value; } - void MuonDetectorFactory001::setCacheFillingFlag(int value) { m_cacheFillingFlag = value; } void MuonDetectorFactory001::setDumpMemoryBreakDown(bool value) { m_dumpMemoryBreakDown = value; } void MuonDetectorFactory001::setFineClashFixingFlag(int value) { m_enableFineClashFixing = value; } void MuonDetectorFactory001::hasCSC(bool value) { m_hasCSC = value; } diff --git a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h index 0ef5f5b415631e31d6b6ce057844235ae6da603a..23302d3d34c80e7e8e016de49bb8753a941f2113 100644 --- a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h +++ b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorTool.h @@ -43,7 +43,6 @@ class MuonDetectorTool final : public GeoModelTool { Gaudi::Property<bool> m_includeCutoutsBog{this, "IncludeCutoutsBog", false }; Gaudi::Property<bool> m_includeCtbBis{this, "IncludeCtbBis" , false }; - Gaudi::Property<bool> m_fillCache_initTime{this, "FillCacheInitTime", false}; Gaudi::Property<bool> m_dumpMemoryBreakDown{this, "DumpMemoryBreakDown", false}; Gaudi::Property<bool> m_enableFineClashFixing{this, "EnableFineClashFixing", false}; Gaudi::Property<bool> m_hasCSC{this,"HasCSC", true}; @@ -67,7 +66,6 @@ class MuonDetectorTool final : public GeoModelTool { Gaudi::Property<bool> m_useCscIntAlinesFromGM{this, "UseIlinesFromGM", true}; Gaudi::Property<std::string> m_altCscIntAlinesFile{this, "AlternateCscIntAlignFile", ""}; - Gaudi::Property<bool> m_cachingFlag{this, "CachingFlag", true, "Turn on/off caching of ReadoutElement surfaces etc. (i.e. for MDTs)"}; Gaudi::Property<bool> m_beeNoShiftInDefault{this, "BEENoShift", false, "Turn off the initial 111 mm shift in BEE station (real data)"}; MuonGM::MuonDetectorManager* m_manager{nullptr}; }; diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx index 596eaea1df17441a9cfe014b56d0830d35492ac3..490cece782da230d111efadc72837aca006de1e6 100644 --- a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx +++ b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx @@ -125,8 +125,6 @@ namespace MuonGM { log << MSG::INFO << "MuonLayout set to <" << m_layout << "> = Development version for DC3 - infrastructures " << endmsg; log << MSG::INFO << " BOG cutouts are activated " << m_includeCutoutsBog << " , all other cutouts are disabled " << m_includeCutouts << endmsg; - m_manager->setCachingFlag(m_caching); - m_manager->setCacheFillingFlag(m_cacheFillingFlag); // set here the flag defining the geometry granularity // minimalgeo = 1 => The geo tree is built up to the Detector Level (Full PhysVol) // no internal structure of the Detector is built diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorTool.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorTool.cxx index 970d8914cbde568fe50f7bf98c34c59ab67a83e1..3dba4468187d4b27bb63e412fcd8b72deb8808a8 100644 --- a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorTool.cxx +++ b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorTool.cxx @@ -157,17 +157,7 @@ StatusCode MuonDetectorTool::createFactory(MuonGM::MuonDetectorManager * & mgr, mgr=theFactory.getDetectorManager(); mgr->setMinimalGeoFlag(m_minimalGeoFlag); mgr->setGeometryVersion(tempLayout); - mgr->setCachingFlag(m_cachingFlag); - if (m_fillCache_initTime) { - mgr->fillCache(); - } else { - // cache for RPC / TGC / CSC must be filled once forever - mgr->fillRpcCache(); - mgr->fillTgcCache(); - mgr->fillCscCache(); - mgr->fillMMCache(); - mgr->fillsTgcCache(); - } + mgr->fillCache(); return StatusCode::SUCCESS; } @@ -222,8 +212,7 @@ StatusCode MuonDetectorTool::createFactory(MuonGM::MuonDetectorManager * & mgr, << " IncludeCutoutsBog " << m_includeCutoutsBog << endmsg << " IncludeCtbBis " << m_includeCtbBis << endmsg << " MinimalGeoFlag " << m_minimalGeoFlag << endmsg - << " EnableCscIntAlignmentFromGM " - << m_useCscIntAlinesFromGM << endmsg << " FillCacheInitTime " << m_fillCache_initTime); + << " EnableCscIntAlignmentFromGM " << m_useCscIntAlinesFromGM); if (m_stationSelection > 0) { StationSelector::SetSelectionType(m_stationSelection); @@ -281,8 +270,6 @@ StatusCode MuonDetectorTool::createFactory(MuonGM::MuonDetectorManager * & mgr, theFactory.setCtbBisFlag(m_includeCtbBis); theFactory.setMinimalGeoFlag(m_minimalGeoFlag); theFactory.setDumpMemoryBreakDown(m_dumpMemoryBreakDown); - theFactory.setCachingFlag(m_cachingFlag); - theFactory.setCacheFillingFlag(m_fillCache_initTime); theFactory.setFineClashFixingFlag(m_enableFineClashFixing); theFactory.hasCSC(m_hasCSC); theFactory.hasSTgc(m_hasSTgc); @@ -312,17 +299,6 @@ StatusCode MuonDetectorTool::createFactory(MuonGM::MuonDetectorManager * & mgr, mem = umem; cpu = ucpu; } - // Register the MuonDetectorNode instance with the Transient Detector Store - MuonGM::MuonDetectorManager *theManager = theFactory.getDetectorManager(); - - if (m_fillCache_initTime) { - theManager->fillCache(); - } else { - // cache for RPC / TGC / CSC must be filled once forever - theManager->fillRpcCache(); - theManager->fillTgcCache(); - theManager->fillCscCache(); - } if (m_dumpMemoryBreakDown) { umem = GeoPerfUtils::getMem(); @@ -334,6 +310,7 @@ StatusCode MuonDetectorTool::createFactory(MuonGM::MuonDetectorManager * & mgr, } } mgr=theFactory.getDetectorManager(); + mgr->fillCache(); return StatusCode::SUCCESS; } diff --git a/MuonSpectrometer/MuonPhaseII/MuonCnv/MuonGeometryCnv/src/MuonReadoutGeomCnvAlg.cxx b/MuonSpectrometer/MuonPhaseII/MuonCnv/MuonGeometryCnv/src/MuonReadoutGeomCnvAlg.cxx index 5fafdbf328b7393964e3860259e0f3ce6ce749dc..e72897f432b35d973e57cf05a3702047a998053d 100644 --- a/MuonSpectrometer/MuonPhaseII/MuonCnv/MuonGeometryCnv/src/MuonReadoutGeomCnvAlg.cxx +++ b/MuonSpectrometer/MuonPhaseII/MuonCnv/MuonGeometryCnv/src/MuonReadoutGeomCnvAlg.cxx @@ -167,7 +167,6 @@ StatusCode MuonReadoutGeomCnvAlg::buildMdt(const ActsGeometryContext& gctx, station->setMdtAsBuiltParams(distort.asBuilt); newElement->geoInitDone(); newElement->fillCache(); - newElement->fillBLineCache(); /// Add the readout element to the manager if (msgLvl(MSG::DEBUG)) { ATH_MSG_ALWAYS("Detector element "<<m_idHelperSvc->toString(copyMe->identify()) diff --git a/Tools/PROCTools/data/q442_AOD_digest.ref b/Tools/PROCTools/data/q442_AOD_digest.ref index 12a615ab2d8f9b19d0261fedcbef98800a45d427..755839c416f0d61606fb1357f0c0e7a68a0c9d41 100644 --- a/Tools/PROCTools/data/q442_AOD_digest.ref +++ b/Tools/PROCTools/data/q442_AOD_digest.ref @@ -15,12 +15,12 @@ 330470 1183746710 4 0 0 0 0 0 0 0 0 0 0 330470 1183751782 212 245 12 3 0 0 0 0 3 0 3 330470 1183752624 329 368 49 5 2 3 0 3 13 0 13 - 330470 1183753006 321 398 59 8 0 5 0 5 10 0 10 + 330470 1183753006 321 398 59 8 1 5 0 5 10 0 10 330470 1183754806 362 425 63 8 0 4 0 4 9 0 9 330470 1183769295 292 334 14 2 2 1 0 1 6 0 6 330470 1183769939 300 362 33 3 0 5 0 5 11 0 11 330470 1183773832 229 209 9 2 0 1 0 1 8 0 8 330470 1183775209 21 0 0 0 0 0 0 0 0 0 0 330470 1183787124 370 384 26 4 1 3 0 3 6 0 6 - 330470 1183787946 262 326 30 4 0 2 0 2 5 0 5 + 330470 1183787946 262 326 30 4 1 2 0 2 5 0 5 330470 1183795329 376 358 33 5 0 3 0 3 7 0 7 diff --git a/Tools/PROCTools/data/q449_AOD_digest.ref b/Tools/PROCTools/data/q449_AOD_digest.ref index 3d04eacba0b8a3a8d588d2adf5547da524b3f7fb..0d65b3192e9d0a774505b1940d656e03c1c45a4a 100644 --- a/Tools/PROCTools/data/q449_AOD_digest.ref +++ b/Tools/PROCTools/data/q449_AOD_digest.ref @@ -4,8 +4,8 @@ 431493 1096112143 266 389 47 4 1 1 0 1 2 0 2 431493 1096113011 366 400 84 10 0 9 0 9 11 0 11 431493 1096113187 272 317 65 6 1 8 0 8 14 0 14 - 431493 1096113771 293 401 78 7 0 10 0 10 12 0 12 - 431493 1096114154 361 566 89 7 1 7 0 7 17 0 17 + 431493 1096113771 293 401 78 7 1 10 0 10 12 0 12 + 431493 1096114154 361 566 89 7 0 7 0 7 17 0 17 431493 1096114168 133 153 23 5 0 2 0 2 6 0 6 431493 1096115980 388 521 136 11 1 21 0 21 22 0 22 431493 1096116200 306 408 35 4 1 4 0 4 12 0 12 @@ -19,7 +19,7 @@ 431493 1096123504 258 340 52 5 0 8 0 8 11 0 11 431493 1096125003 349 449 84 7 0 10 0 10 17 0 17 431493 1096125237 355 495 76 6 1 8 0 8 15 0 15 - 431493 1096125348 295 346 63 6 2 8 0 8 8 0 8 + 431493 1096125348 295 346 63 6 1 8 0 8 8 0 8 431493 1096125522 251 303 64 9 1 7 0 7 16 0 16 431493 1096127413 396 579 105 7 1 11 0 11 22 0 22 431493 1096127722 221 418 74 9 1 7 0 7 7 0 7 @@ -69,7 +69,7 @@ 431493 1096167556 330 426 75 7 1 9 0 9 11 0 11 431493 1096168429 297 412 99 8 0 6 0 6 8 0 8 431493 1096171532 337 414 86 9 0 13 0 13 13 0 13 - 431493 1096171788 303 440 58 4 1 9 0 9 12 0 12 + 431493 1096171788 303 440 58 4 0 9 0 9 12 0 12 431493 1096171838 413 605 118 8 0 10 0 10 24 0 24 431493 1096173554 313 423 46 5 1 4 0 4 9 0 9 431493 1096173910 352 570 98 7 1 11 0 11 10 0 10 diff --git a/Tools/WorkflowTestRunner/python/References.py b/Tools/WorkflowTestRunner/python/References.py index cd7c3731cecb8fcc108b7e2ad712f99e7d3aeac9..bf7a8c1a8c7840449b296a1a0844fbccfc8cacbd 100644 --- a/Tools/WorkflowTestRunner/python/References.py +++ b/Tools/WorkflowTestRunner/python/References.py @@ -23,8 +23,8 @@ references_map = { "d1759": "v12", "d1912": "v1", # Reco - "q442": "v43", - "q449": "v67", + "q442": "v44", + "q449": "v68", "q452": "v1", "q454": "v1", # Derivations