From ca410ae5257d66c2c096d18cc0abb6ace2eb1336 Mon Sep 17 00:00:00 2001 From: Dimitra Amperiadou Date: Thu, 9 Nov 2023 19:29:22 +0200 Subject: [PATCH] replace cuboid with trapezoid bounds --- Core/src/Detector/MultiWireStructureBuilder.cpp | 6 +++--- .../Core/Detector/MultiWireStructureBuilderTests.cpp | 2 +- .../UnitTests/Core/Navigation/MultiWireNavigationTests.cpp | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Core/src/Detector/MultiWireStructureBuilder.cpp b/Core/src/Detector/MultiWireStructureBuilder.cpp index b457cfd258f..d7d42f4075f 100644 --- a/Core/src/Detector/MultiWireStructureBuilder.cpp +++ b/Core/src/Detector/MultiWireStructureBuilder.cpp @@ -116,14 +116,14 @@ Acts::Experimental::MultiWireStructureBuilder::MultiWireStructureBuilder( Acts::Experimental::DetectorComponent Acts::Experimental::MultiWireStructureBuilder::construct( const Acts::GeometryContext& gctx) { - if (mCfg.mlBounds.size() != 3u) { + if (mCfg.mlBounds.size() != 4u) { throw std::invalid_argument( - "MultiWireStructureBuilder: Invalid dimension for bounds."); + "MultiWireStructureBuilder: Invalid dimension for bounds. Trapezoid Volume Bounds are supported."); } // Configure the external structure builder for the internal structure Acts::Experimental::VolumeStructureBuilder::Config vsConfig; - vsConfig.boundsType = Acts::VolumeBounds::eCuboid; + vsConfig.boundsType = Acts::VolumeBounds::eTrapezoid; vsConfig.transform = mCfg.transform; vsConfig.boundValues = mCfg.mlBounds; vsConfig.auxiliary = "Construct External Structure"; diff --git a/Tests/UnitTests/Core/Detector/MultiWireStructureBuilderTests.cpp b/Tests/UnitTests/Core/Detector/MultiWireStructureBuilderTests.cpp index df591a52c76..359f48621f2 100644 --- a/Tests/UnitTests/Core/Detector/MultiWireStructureBuilderTests.cpp +++ b/Tests/UnitTests/Core/Detector/MultiWireStructureBuilderTests.cpp @@ -62,7 +62,7 @@ BOOST_AUTO_TEST_CASE(Multi_Wire_Structure_Builder_StrawSurfacesCreation) { } } - std::vector vBounds = {0.5 * nSurfacesX * 2 * radius, + std::vector vBounds = {0.5*nSurfacesX * 2 * radius, 0.5 * nSurfacesX * 2 * radius, 0.5 * nSurfacesY * 2 * radius, halfZ}; MultiWireStructureBuilder::Config mlCfg; diff --git a/Tests/UnitTests/Core/Navigation/MultiWireNavigationTests.cpp b/Tests/UnitTests/Core/Navigation/MultiWireNavigationTests.cpp index 2cb0a098c88..56ce5d15d1a 100644 --- a/Tests/UnitTests/Core/Navigation/MultiWireNavigationTests.cpp +++ b/Tests/UnitTests/Core/Navigation/MultiWireNavigationTests.cpp @@ -32,7 +32,6 @@ using namespace Acts; using namespace Acts::Experimental; using namespace Acts::detail; - GeometryContext tContext; BOOST_AUTO_TEST_SUITE(Experimental) @@ -71,7 +70,7 @@ BOOST_AUTO_TEST_CASE(Navigation_in_Indexed_Surfaces) { pos.y() = ipos.y() + 2 * (i + 1) * radius; } - std::vector vBounds = {0.5 * nSurfacesX * 2 * radius, + std::vector vBounds = {0.5 * nSurfacesX * 2 * radius, 0.5 * nSurfacesX * 2 * radius, 0.5 * nSurfacesY * 2 * radius, halfZ}; MultiWireStructureBuilder::Config mlCfg; @@ -90,10 +89,11 @@ BOOST_AUTO_TEST_CASE(Navigation_in_Indexed_Surfaces) { Acts::Experimental::NavigationState nState; nState.position = Acts::Vector3(0., -60., 0.); - nState.direction = Acts::Vector3(-1., 1., 0.); + nState.direction = Acts::Vector3(0., 1., 0.); nState.currentVolume = volumes.front().get(); nState.currentVolume->updateNavigationState(tContext, nState); + std::cout<