diff --git a/Control/AthenaExamples/AthAsgExUnittest/test/gt_MockxAODJet.cxx b/Control/AthenaExamples/AthAsgExUnittest/test/gt_MockxAODJet.cxx index 62d14bfb8796681cba95284b6d7e08beb6f34d68..0d28990b6abc5e5ea9c78f5d36427ad864eab0ed 100644 --- a/Control/AthenaExamples/AthAsgExUnittest/test/gt_MockxAODJet.cxx +++ b/Control/AthenaExamples/AthAsgExUnittest/test/gt_MockxAODJet.cxx @@ -1,6 +1,6 @@ // -// Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +// Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration // #include "xAODJet/Jet.h" @@ -39,8 +39,10 @@ namespace xAOD { template<> inline bool Jet::getAttribute<float>( const std::string& name, float& value ) const { - return dynamic_cast<const Athena_test::MockxAODJet*>( this ) - ->getAttributeFloat( name, value ); + if (auto mockJet = dynamic_cast<const Athena_test::MockxAODJet*>( this )) { + return mockJet->getAttributeFloat( name, value ); + } + return false; } } diff --git a/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx b/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx index b7f063592cb9ba28b3845551e65ed0e3daf7a9d8..1764ddfdd4b64c6246263e717060557a8eb7eb68 100644 --- a/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx +++ b/InnerDetector/InDetDigitization/FastSiDigitization/src/PixelFastDigitizationTool.cxx @@ -817,9 +817,13 @@ StatusCode PixelFastDigitizationTool::digitize(const EventContext& ctx) // clusterPosition = SG::ReadCondHandle<PixelDistortionData>(m_distortionKey)->correctSimulation(m_pixel_ID->wafer_hash(hitSiDetElement->identify()), clusterPosition, localDirection); // from InDetReadoutGeometry: width from eta - double etaWidth = dynamic_cast<const InDetDD::PixelModuleDesign*>(&hitSiDetElement->design())->widthFromColumnRange(etaIndexMin, etaIndexMax); + auto pixModDesign = dynamic_cast<const InDetDD::PixelModuleDesign*>(&hitSiDetElement->design()); + if (!pixModDesign) { + return StatusCode::FAILURE; + } + double etaWidth = pixModDesign->widthFromColumnRange(etaIndexMin, etaIndexMax); // from InDetReadoutGeometry : width from phi - double phiWidth = dynamic_cast<const InDetDD::PixelModuleDesign*>(&hitSiDetElement->design())->widthFromRowRange(phiIndexMin, phiIndexMax); + double phiWidth = pixModDesign->widthFromRowRange(phiIndexMin, phiIndexMax); InDet::SiWidth siWidth(Amg::Vector2D(siDeltaPhiCut,siDeltaEtaCut), Amg::Vector2D(phiWidth,etaWidth));