68 R[i](0), P[i](0), R[i](1), P[i](1), R[i](2), P[i](2),
136 const std::vector<Vec3> R = {
137 Vec3(1.0e-3, 2.0e-3, -1.0e-3), Vec3(-2.0e-3, 0.5e-3, 3.0e-3),
138 Vec3(0.0e-3, -1.5e-3, 2.0e-3), Vec3(1.5e-3, -0.5e-3, -2.5e-3),
139 Vec3(-0.5e-3, 1.0e-3, 0.0e-3),
141 const std::vector<Vec3> P = {
142 Vec3(0.02, -0.01, 0.10), Vec3(-0.03, 0.02, 0.08), Vec3(0.01, 0.01, 0.11),
143 Vec3(0.00, -0.02, 0.09), Vec3(0.04, 0.00, 0.105),
145 ASSERT_EQ(R.size(), P.size());
146 const size_t N = R.size();
149 Kokkos::View<Vec3*> Rview_d(
"Rview_d", N);
150 Kokkos::View<Vec3*> Pview_d(
"Pview_d", N);
151 Kokkos::View<double*> Mview_d(
"Mview_d", 1);
153 auto Rview_h = Kokkos::create_mirror_view(Rview_d);
154 auto Pview_h = Kokkos::create_mirror_view(Pview_d);
155 auto Mview_h = Kokkos::create_mirror_view(Mview_d);
157 for (
size_t i = 0; i < N; ++i) {
163 Kokkos::deep_copy(Rview_d, Rview_h);
164 Kokkos::deep_copy(Pview_d, Pview_h);
165 Kokkos::deep_copy(Mview_d, Mview_h);
168 auto containerState = bunchStateHandler->registerContainer();
181 for (
int d = 0; d < 3; ++d) {
182 EXPECT_NEAR(meanR(d), exp.meanR(d), 1e-15);
183 EXPECT_NEAR(meanP(d), exp.meanP(d), 1e-15);
185 EXPECT_NEAR(stdR(d), exp.stdR(d), 1e-15);
186 EXPECT_NEAR(stdP(d), exp.stdP(d), 1e-15);
188 EXPECT_NEAR(epsN(d), exp.epsN(d), 1e-15);
189 EXPECT_NEAR(epsG(d), exp.epsGeo(d), 1e-15);
197 EXPECT_NEAR(dm.
getDx(), exp.Dx, 1e-15);
198 EXPECT_NEAR(dm.
getDDx(), exp.DDx, 1e-15);
199 EXPECT_NEAR(dm.
getDy(), exp.Dy, 1e-15);
200 EXPECT_NEAR(dm.
getDDy(), exp.DDy, 1e-15);