File indexing completed on 2026-07-26 08:22:25
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "traccc/definitions/common.hpp"
0010 #include "traccc/edm/measurement_collection.hpp"
0011 #include "traccc/edm/spacepoint_collection.hpp"
0012 #include "traccc/seeding/seeding_algorithm.hpp"
0013 #include "traccc/seeding/track_params_estimation.hpp"
0014
0015
0016 #include <vecmem/memory/host_memory_resource.hpp>
0017
0018
0019 #include <gtest/gtest.h>
0020
0021 using namespace traccc;
0022
0023 namespace {
0024
0025
0026 vecmem::host_memory_resource host_mr;
0027
0028
0029 static constexpr vector3 B{0.f * unit<scalar>::T, 0.f * unit<scalar>::T,
0030 2.f * unit<scalar>::T};
0031
0032 }
0033
0034
0035 TEST(seeding, case1) {
0036
0037 traccc::seedfinder_config finder_config;
0038 traccc::spacepoint_grid_config grid_config(finder_config);
0039 traccc::seedfilter_config filter_config;
0040
0041
0042 finder_config.deltaRMax = 100.f * unit<float>::mm;
0043 finder_config.maxPtScattering = 0.5f * unit<float>::GeV;
0044 traccc::host::seeding_algorithm sa(finder_config, grid_config, filter_config,
0045 host_mr);
0046
0047 edm::measurement_collection::host measurements(host_mr);
0048 edm::spacepoint_collection::host spacepoints{host_mr};
0049
0050
0051 measurements.resize(5);
0052 spacepoints.reserve(5);
0053 spacepoints.push_back(
0054 {0,
0055 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0056 {36.6706f, 10.6472f, 104.131f},
0057 0.f,
0058 0.f});
0059 spacepoints.push_back(
0060 {1,
0061 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0062 {94.2191f, 29.6699f, 113.628f},
0063 0.f,
0064 0.f});
0065 spacepoints.push_back(
0066 {2,
0067 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0068 {149.805f, 47.9518f, 122.979f},
0069 0.f,
0070 0.f});
0071 spacepoints.push_back(
0072 {3,
0073 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0074 {218.514f, 70.3049f, 134.029f},
0075 0.f,
0076 0.f});
0077 spacepoints.push_back(
0078 {4,
0079 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0080 {275.359f, 88.668f, 143.378f},
0081 0.f,
0082 0.f});
0083
0084
0085 auto seeds = sa(vecmem::get_data(spacepoints));
0086
0087
0088 ASSERT_EQ(seeds.size(), 1u);
0089
0090 traccc::track_params_estimation_config track_params_estimation_config;
0091 traccc::host::track_params_estimation tp(track_params_estimation_config,
0092 host_mr);
0093
0094 auto bound_params =
0095 tp(vecmem::get_data(measurements), vecmem::get_data(spacepoints),
0096 vecmem::get_data(seeds), B);
0097
0098
0099 ASSERT_EQ(bound_params.size(), 1u);
0100
0101
0102
0103
0104
0105
0106 }
0107
0108 TEST(seeding, case2) {
0109
0110 traccc::seedfinder_config finder_config;
0111 traccc::spacepoint_grid_config grid_config(finder_config);
0112 traccc::seedfilter_config filter_config;
0113
0114
0115 finder_config.deltaRMax = 100.f * unit<float>::mm;
0116 finder_config.maxPtScattering = 0.5f * unit<float>::GeV;
0117 traccc::host::seeding_algorithm sa(finder_config, grid_config, filter_config,
0118 host_mr);
0119
0120 edm::measurement_collection::host measurements(host_mr);
0121 edm::spacepoint_collection::host spacepoints{host_mr};
0122
0123
0124 measurements.resize(5);
0125 spacepoints.reserve(5);
0126 spacepoints.push_back(
0127 {0,
0128 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0129 {36.301f, 13.1197f, 106.83f},
0130 0.f,
0131 0.f});
0132 spacepoints.push_back(
0133 {1,
0134 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0135 {93.9366f, 33.7101f, 120.978f},
0136 0.f,
0137 0.f});
0138 spacepoints.push_back(
0139 {2,
0140 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0141 {149.192f, 52.0562f, 134.678f},
0142 0.f,
0143 0.f});
0144 spacepoints.push_back(
0145 {3,
0146 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0147 {218.398f, 73.1025f, 151.979f},
0148 0.f,
0149 0.f});
0150 spacepoints.push_back(
0151 {4,
0152 traccc::edm::spacepoint_collection::host::INVALID_MEASUREMENT_INDEX,
0153 {275.322f, 89.0663f, 166.229f},
0154 0.f,
0155 0.f});
0156
0157
0158 auto seeds = sa(vecmem::get_data(spacepoints));
0159
0160
0161 ASSERT_EQ(seeds.size(), 1u);
0162
0163 traccc::track_params_estimation_config track_params_estimation_config;
0164 traccc::host::track_params_estimation tp(track_params_estimation_config,
0165 host_mr);
0166
0167 auto bound_params =
0168 tp(vecmem::get_data(measurements), vecmem::get_data(spacepoints),
0169 vecmem::get_data(seeds), B);
0170
0171
0172 ASSERT_EQ(bound_params.size(), 1u);
0173
0174
0175
0176
0177
0178
0179 }