@@ -41,82 +41,4 @@ TRACCC_HOST_DEVICE void track_state<BASE>::set_smoothed(bool value) {
4141 }
4242}
4343
44- template <typename BASE>
45- template <detray::concepts::algebra ALGEBRA, std::integral size_type,
46- size_type D>
47- TRACCC_HOST_DEVICE void track_state<BASE>::get_measurement_local(
48- const measurement_collection_types::const_device& measurements,
49- detray::dmatrix<ALGEBRA, D, 1 >& pos) const {
50-
51- static_assert (((D == 1u ) || (D == 2u )),
52- " The measurement dimension must be 1 or 2" );
53-
54- assert ((measurements.at (measurement_index ()).subs .get_indices ()[0 ] ==
55- e_bound_loc0) ||
56- (measurements.at (measurement_index ()).subs .get_indices ()[0 ] ==
57- e_bound_loc1));
58-
59- const point2& local = measurements.at (measurement_index ()).local ;
60-
61- switch (measurements.at (measurement_index ()).subs .get_indices ()[0 ]) {
62- case e_bound_loc0:
63- getter::element (pos, 0 , 0 ) = local[0 ];
64- if constexpr (D == 2u ) {
65- getter::element (pos, 1 , 0 ) = local[1 ];
66- }
67- break ;
68- case e_bound_loc1:
69- getter::element (pos, 0 , 0 ) = local[1 ];
70- if constexpr (D == 2u ) {
71- getter::element (pos, 1 , 0 ) = local[0 ];
72- }
73- break ;
74- default :
75- #if defined(__GNUC__)
76- __builtin_unreachable ();
77- #endif
78- }
79- }
80-
81- template <typename BASE>
82- template <detray::concepts::algebra ALGEBRA, std::integral size_type,
83- size_type D>
84- TRACCC_HOST_DEVICE void track_state<BASE>::get_measurement_covariance(
85- const measurement_collection_types::const_device& measurements,
86- detray::dmatrix<ALGEBRA, D, D>& cov) const {
87-
88- static_assert (((D == 1u ) || (D == 2u )),
89- " The measurement dimension must be 1 or 2" );
90-
91- assert ((measurements.at (measurement_index ()).subs .get_indices ()[0 ] ==
92- e_bound_loc0) ||
93- (measurements.at (measurement_index ()).subs .get_indices ()[0 ] ==
94- e_bound_loc1));
95-
96- const variance2& variance = measurements.at (measurement_index ()).variance ;
97-
98- switch (measurements.at (measurement_index ()).subs .get_indices ()[0 ]) {
99- case e_bound_loc0:
100- getter::element (cov, 0 , 0 ) = variance[0 ];
101- if constexpr (D == 2u ) {
102- getter::element (cov, 0 , 1 ) = 0 .f ;
103- getter::element (cov, 1 , 0 ) = 0 .f ;
104- getter::element (cov, 1 , 1 ) = variance[1 ];
105- }
106- break ;
107- case e_bound_loc1:
108- getter::element (cov, 0 , 0 ) = variance[1 ];
109- if constexpr (D == 2u ) {
110- getter::element (cov, 0 , 1 ) = 0 .f ;
111- getter::element (cov, 1 , 0 ) = 0 .f ;
112- getter::element (cov, 1 , 1 ) = variance[0 ];
113- }
114- break ;
115- default :
116- #if defined(__GNUC__)
117- __builtin_unreachable ();
118- #endif
119- }
120- }
121-
12244} // namespace traccc::edm
0 commit comments