@@ -29,26 +29,24 @@ GTEST_TEST(detray_simulation, uniform_track_generator) {
29
29
uniform_track_generator<free_track_parameters<algebra_t >>;
30
30
31
31
constexpr const scalar_t tol{1e-5f };
32
- constexpr const scalar_t epsilon {generator_t ::configuration::epsilon };
32
+ constexpr const scalar_t max_pi {generator_t ::configuration::k_max_pi };
33
33
34
34
constexpr std::size_t phi_steps{50u };
35
35
constexpr std::size_t theta_steps{50u };
36
36
37
37
std::array<vector3, phi_steps * theta_steps> momenta{};
38
38
39
- // Loop over theta values ] 0,pi[
39
+ // Loop over theta values [ 0,pi)
40
40
for (std::size_t itheta{0u }; itheta < theta_steps; ++itheta) {
41
- const scalar_t theta{epsilon +
42
- static_cast <scalar_t >(itheta) *
43
- (constant<scalar_t >::pi - 2 .f * epsilon) /
44
- static_cast <scalar_t >(theta_steps - 1u )};
41
+ const scalar_t theta{static_cast <scalar_t >(itheta) * max_pi /
42
+ static_cast <scalar_t >(theta_steps - 1u )};
45
43
46
- // Loop over phi values [-pi, pi]
44
+ // Loop over phi values [-pi, pi)
47
45
for (std::size_t iphi{0u }; iphi < phi_steps; ++iphi) {
48
46
// The direction
49
47
const scalar_t phi{-constant<scalar_t >::pi +
50
48
static_cast <scalar_t >(iphi) *
51
- (2 . f * constant<scalar_t >::pi ) /
49
+ (constant<scalar_t >::pi + max_pi ) /
52
50
static_cast <scalar_t >(phi_steps)};
53
51
54
52
// intialize a track
@@ -125,6 +123,7 @@ GTEST_TEST(detray_simulation, uniform_track_generator_eta) {
125
123
uniform_track_generator<free_track_parameters<algebra_t >>;
126
124
127
125
constexpr const scalar_t tol{1e-5f };
126
+ constexpr const scalar_t max_pi{generator_t ::configuration::k_max_pi};
128
127
129
128
constexpr std::size_t phi_steps{50u };
130
129
constexpr std::size_t eta_steps{50u };
@@ -137,12 +136,12 @@ GTEST_TEST(detray_simulation, uniform_track_generator_eta) {
137
136
static_cast <scalar_t >(eta_steps - 1u )};
138
137
const scalar_t theta{2 .f * std::atan (std::exp (-eta))};
139
138
140
- // Loop over phi values [-pi, pi]
139
+ // Loop over phi values [-pi, pi)
141
140
for (std::size_t iphi{0u }; iphi < phi_steps; ++iphi) {
142
141
// The direction
143
142
const scalar_t phi{-constant<scalar_t >::pi +
144
143
static_cast <scalar_t >(iphi) *
145
- (2 . f * constant<scalar_t >::pi ) /
144
+ (constant<scalar_t >::pi + max_pi ) /
146
145
static_cast <scalar_t >(phi_steps)};
147
146
148
147
// intialize a track
@@ -224,7 +223,7 @@ GTEST_TEST(detray_simulation, random_track_generator_uniform) {
224
223
random_track_generator<free_track_parameters<algebra_t >, uniform_gen_t >;
225
224
226
225
// Tolerance depends on sample size
227
- constexpr scalar_t tol{0 .05f };
226
+ constexpr scalar_t tol{0 .02f };
228
227
229
228
// Track counter
230
229
std::size_t n_tracks{0u };
@@ -236,6 +235,7 @@ GTEST_TEST(detray_simulation, random_track_generator_uniform) {
236
235
trk_gen_cfg.seed (42u );
237
236
trk_gen_cfg.phi_range (-0 .9f * constant<scalar_t >::pi ,
238
237
0 .8f * constant<scalar_t >::pi );
238
+ trk_gen_cfg.eta_range (-4 .f , 4 .f );
239
239
trk_gen_cfg.mom_range (1 .f * unit<scalar_t >::GeV, 2 .f * unit<scalar_t >::GeV);
240
240
trk_gen_cfg.origin_stddev ({0 .1f * unit<scalar_t >::mm,
241
241
0 .f * unit<scalar_t >::mm,
@@ -268,6 +268,8 @@ GTEST_TEST(detray_simulation, random_track_generator_uniform) {
268
268
const auto & ori_stddev = trk_gen_cfg.origin_stddev ();
269
269
const auto & phi_range = trk_gen_cfg.phi_range ();
270
270
const auto & theta_range = trk_gen_cfg.theta_range ();
271
+ ASSERT_NEAR (theta_range[0 ], 0 .0366f , tol);
272
+ ASSERT_NEAR (theta_range[1 ], 3 .105f , tol);
271
273
const auto & mom_range = trk_gen_cfg.mom_range ();
272
274
273
275
// Mean
@@ -304,7 +306,7 @@ GTEST_TEST(detray_simulation, random_track_generator_normal) {
304
306
random_track_generator<free_track_parameters<algebra_t >, normal_gen_t >;
305
307
306
308
// Tolerance depends on sample size
307
- constexpr scalar_t tol{0 .05f };
309
+ constexpr scalar_t tol{0 .02f };
308
310
309
311
// Track counter
310
312
std::size_t n_tracks{0u };
@@ -316,6 +318,7 @@ GTEST_TEST(detray_simulation, random_track_generator_normal) {
316
318
trk_gen_cfg.seed (42u );
317
319
trk_gen_cfg.phi_range (-0 .9f * constant<scalar_t >::pi ,
318
320
0 .8f * constant<scalar_t >::pi );
321
+ trk_gen_cfg.eta_range (-4 .f , 4 .f );
319
322
trk_gen_cfg.mom_range (1 .f * unit<scalar_t >::GeV, 2 .f * unit<scalar_t >::GeV);
320
323
trk_gen_cfg.origin ({0 .f , 0 .f , 0 .f });
321
324
trk_gen_cfg.origin_stddev ({0 .1f * unit<scalar_t >::mm,
@@ -349,6 +352,8 @@ GTEST_TEST(detray_simulation, random_track_generator_normal) {
349
352
const auto & ori_stddev = trk_gen_cfg.origin_stddev ();
350
353
const auto & phi_range = trk_gen_cfg.phi_range ();
351
354
const auto & theta_range = trk_gen_cfg.theta_range ();
355
+ ASSERT_NEAR (theta_range[0 ], 0 .0366f , tol);
356
+ ASSERT_NEAR (theta_range[1 ], 3 .105f , tol);
352
357
const auto & mom_range = trk_gen_cfg.mom_range ();
353
358
354
359
// Mean
0 commit comments