Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-26 08:22:25

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2020-2026 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 // Project inlcude(s)
0009 #include "traccc/seeding/grids/axis.hpp"
0010 #include "traccc/seeding/grids/serializer2.hpp"
0011 
0012 // Vecmem include(s)
0013 #include <vecmem/memory/host_memory_resource.hpp>
0014 
0015 // GTest include(s)
0016 #include <gtest/gtest.h>
0017 
0018 // System include(s)
0019 #include <limits>
0020 
0021 using namespace traccc;
0022 
0023 GTEST_TEST(traccc_grid2, serialize_deserialize) {
0024   vecmem::host_memory_resource resource;
0025 
0026   axis2::regular<> r6{6u, -3.f, 7.f, resource};
0027   axis2::circular<> c12{12u, -3.f, 3.f, resource};
0028 
0029   serializer2 ser2;
0030 
0031   // Serializing
0032   unsigned int test = ser2.serialize(r6, c12, 0u, 0u);
0033   EXPECT_EQ(test, 0u);
0034   test = ser2.serialize(r6, c12, 5u, 0u);
0035   EXPECT_EQ(test, 5u);
0036   test = ser2.serialize(r6, c12, 0u, 1u);
0037   EXPECT_EQ(test, 6u);
0038   test = ser2.serialize(r6, c12, 5u, 2u);
0039   EXPECT_EQ(test, 17u);
0040 
0041   // Deserialize
0042   std::array<unsigned int, 2> expected_array = {0u, 0u};
0043   std::array<unsigned int, 2> test_array = ser2.deserialize(r6, c12, 0u);
0044   EXPECT_EQ(test_array, expected_array);
0045   expected_array = {5u, 0u};
0046   test_array = ser2.deserialize(r6, c12, 5u);
0047   EXPECT_EQ(test_array, expected_array);
0048   expected_array = {0u, 1u};
0049   test_array = ser2.deserialize(r6, c12, 6u);
0050   EXPECT_EQ(test_array, expected_array);
0051   expected_array = {5u, 2u};
0052   test_array = ser2.deserialize(r6, c12, 17u);
0053   EXPECT_EQ(test_array, expected_array);
0054 }