@@ -73,7 +73,8 @@ track_candidate_container_types::host find_tracks(
7373
7474 using actor_type = detray::actor_chain<
7575 detray::pathlimit_aborter<scalar_type>, transporter_type,
76- interaction_register<interactor_type>, interactor_type, ckf_aborter>;
76+ interaction_register<interactor_type>, interactor_type,
77+ detray::momentum_aborter<scalar_type>, ckf_aborter>;
7778
7879 using propagator_type =
7980 detray::propagator<stepper_t , navigator_t , actor_type>;
@@ -314,12 +315,18 @@ track_candidate_container_types::host find_tracks(
314315 config.propagation .stepping .step_constraint );
315316
316317 typename detray::pathlimit_aborter<scalar_type>::state s0;
317- typename detray::parameter_transporter<algebra_type>:: state s1 ;
318- typename interactor_type::state s3 ;
319- typename interaction_register<interactor_type >::state s2{s3 };
318+ typename interactor_type:: state s2 ;
319+ typename interaction_register< interactor_type> ::state s1{s2} ;
320+ typename detray::momentum_aborter<scalar_type >::state s3{ };
320321 typename ckf_aborter::state s4;
322+ // Update the actor config
321323 s4.min_step_length = config.min_step_length_for_next_surface ;
322324 s4.max_count = config.max_step_counts_for_next_surface ;
325+ if (config.is_min_pT ) {
326+ s3.min_pT (static_cast <scalar_type>(config.min_p_mag ));
327+ } else {
328+ s3.min_p (static_cast <scalar_type>(config.min_p_mag ));
329+ }
323330
324331 // Propagate to the next surface
325332 propagator.propagate_sync (propagation,
@@ -328,6 +335,7 @@ track_candidate_container_types::host find_tracks(
328335 // If a surface found, add the parameter for the next
329336 // step
330337 if (s4.success ) {
338+ assert (propagation._navigation .is_on_sensitive ());
331339 out_params.push_back (propagation._stepping .bound_params ());
332340 param_to_link[step].push_back (link_id);
333341 }
0 commit comments