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