@@ -61,14 +61,14 @@ class ToyDetectorBenchmark : public benchmark::Fixture {
61
61
62
62
// Detector type
63
63
using detector_type = traccc::toy_detector::host;
64
+ using algebra_type = typename detector_type::algebra_type;
64
65
using scalar_type = detector_type::scalar_type;
65
66
66
67
// B field value and its type
67
68
// @TODO: Set B field as argument
68
69
using b_field_t = covfie::field<detray::bfield::const_bknd_t <scalar_type>>;
69
70
70
- static constexpr traccc::vector3 B{0 , 0 ,
71
- 2 * traccc::unit<traccc::scalar>::T};
71
+ static constexpr traccc::vector3 B{0 , 0 , 2 * traccc::unit<scalar_type>::T};
72
72
73
73
ToyDetectorBenchmark () {
74
74
@@ -82,20 +82,18 @@ class ToyDetectorBenchmark : public benchmark::Fixture {
82
82
83
83
// Use deterministic random number generator for testing
84
84
using uniform_gen_t = detray::detail::random_numbers<
85
- traccc::scalar , std::uniform_real_distribution<traccc::scalar >>;
85
+ scalar_type , std::uniform_real_distribution<scalar_type >>;
86
86
87
87
// Build the detector
88
88
auto [det, name_map] =
89
- detray::build_toy_detector<traccc::default_algebra>(
90
- host_mr, get_toy_config ());
89
+ detray::build_toy_detector<algebra_type>(host_mr, get_toy_config ());
91
90
92
91
// B field
93
92
auto field = detray::bfield::create_const_field<scalar_type>(B);
94
93
95
94
// Origin of particles
96
- using generator_type =
97
- detray::random_track_generator<traccc::free_track_parameters,
98
- uniform_gen_t >;
95
+ using generator_type = detray::random_track_generator<
96
+ traccc::free_track_parameters<algebra_type>, uniform_gen_t >;
99
97
generator_type::configuration gen_cfg{};
100
98
gen_cfg.n_tracks (n_tracks);
101
99
gen_cfg.phi_range (phi_range);
@@ -105,12 +103,12 @@ class ToyDetectorBenchmark : public benchmark::Fixture {
105
103
106
104
// Smearing value for measurements
107
105
traccc::measurement_smearer<traccc::default_algebra> meas_smearer (
108
- 50 * traccc::unit<traccc::scalar >::um,
109
- 50 * traccc::unit<traccc::scalar >::um);
106
+ 50 * traccc::unit<scalar_type >::um,
107
+ 50 * traccc::unit<scalar_type >::um);
110
108
111
109
// Type declarations
112
- using writer_type = traccc::smearing_writer<
113
- traccc::measurement_smearer <traccc::default_algebra >>;
110
+ using writer_type =
111
+ traccc::smearing_writer <traccc::measurement_smearer<algebra_type >>;
114
112
115
113
// Writer config
116
114
typename writer_type::config smearer_writer_cfg{meas_smearer};
@@ -122,7 +120,7 @@ class ToyDetectorBenchmark : public benchmark::Fixture {
122
120
123
121
auto sim = traccc::simulator<detector_type, b_field_t , generator_type,
124
122
writer_type>(
125
- detray::muon<traccc::scalar >(), n_events, det, field,
123
+ detray::muon<scalar_type >(), n_events, det, field,
126
124
std::move (generator), std::move (smearer_writer_cfg), full_path);
127
125
128
126
// Same propagation configuration for sim and reco
@@ -143,14 +141,14 @@ class ToyDetectorBenchmark : public benchmark::Fixture {
143
141
detray::io::write_detector (det, name_map, writer_cfg);
144
142
}
145
143
146
- detray::toy_det_config<traccc::scalar > get_toy_config () const {
144
+ detray::toy_det_config<scalar_type > get_toy_config () const {
147
145
148
146
// Create the toy geometry
149
- detray::toy_det_config<traccc::scalar > toy_cfg{};
147
+ detray::toy_det_config<scalar_type > toy_cfg{};
150
148
toy_cfg.n_brl_layers (4u ).n_edc_layers (7u ).do_check (false );
151
149
152
150
// @TODO: Increase the material budget again
153
- toy_cfg.module_mat_thickness (0 .11f * traccc::unit<traccc::scalar >::mm);
151
+ toy_cfg.module_mat_thickness (0 .11f * traccc::unit<scalar_type >::mm);
154
152
155
153
return toy_cfg;
156
154
}
0 commit comments