File indexing completed on 2026-05-27 07:24:26
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011
0012 #include "detray/core/detector.hpp"
0013 #include "detray/definitions/units.hpp"
0014 #include "detray/navigation/caching_navigator.hpp"
0015 #include "detray/propagator/actors.hpp"
0016 #include "detray/propagator/propagator.hpp"
0017 #include "detray/propagator/rk_stepper.hpp"
0018 #include "detray/tracks/tracks.hpp"
0019
0020
0021 #include "detray/test/device/cuda/bfield.hpp"
0022
0023
0024 #include "detray/tutorial/types.hpp"
0025
0026 namespace detray::tutorial {
0027
0028
0029 using metadata_t = detray::tutorial::toy_metadata;
0030 using detector_host_t = detector<metadata_t, host_container_types>;
0031 using detector_device_t = detector<metadata_t, device_container_types>;
0032
0033 using algebra_t = metadata_t::algebra_type;
0034 using scalar = detray::tutorial::scalar;
0035
0036
0037 using navigator_t = caching_navigator<detector_device_t>;
0038
0039
0040 using host_field_t = covfie::field<detray::bfield::inhom_bknd_t<scalar>>;
0041 using device_field_t =
0042 covfie::field<detray::bfield::cuda::inhom_bknd_t<scalar>>;
0043 using stepper_t = rk_stepper<device_field_t::view_t, algebra_t>;
0044
0045
0046 using actor_chain_t = actor_chain<
0047 actor::pathlimit_aborter<scalar>,
0048 actor::parameter_updater<algebra_t,
0049 actor::pointwise_material_interactor<algebra_t>>>;
0050
0051
0052 using propagator_t = propagator<stepper_t, navigator_t, actor_chain_t>;
0053
0054
0055 using track_t = detray::free_track_parameters<detray::tutorial::algebra_t>;
0056
0057
0058 void propagation(
0059 typename detector_host_t::view_type det_data,
0060 typename device_field_t::view_t field_data,
0061 const vecmem::data::vector_view<free_track_parameters<algebra_t>>
0062 tracks_data);
0063
0064 }