9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/tools/output_test_stream.hpp>
11 #include <boost/test/unit_test.hpp>
36 #include <type_traits>
40 namespace tt = boost::test_tools;
41 using namespace Acts::UnitLiterals;
55 static auto bField = std::make_shared<BFieldType>(
Vector3{0, 0, 1_T});
67 ctransform.setIdentity();
68 ctransform.pretranslate(nposition);
69 ctransform.prerotate(
AngleAxis3(angleX, Vector3::UnitX()));
70 ctransform.prerotate(
AngleAxis3(angleY, Vector3::UnitY()));
82 const Vector3& nnormal,
double angleT,
86 Vector3 U = std::abs(T.dot(Vector3::UnitZ())) < 0.99
87 ? Vector3::UnitZ().cross(T).normalized()
88 : Vector3::UnitX().cross(T).normalized();
92 curvilinearRotation.col(0) = U;
93 curvilinearRotation.col(1) = V;
94 curvilinearRotation.col(2) =
T;
97 ctransform.pretranslate(nposition);
126 size_t ijc = eFreeSize +
j * eFreeSize +
i;
127 jMatrix(i,
j) = P[ijc];
138 template <
typename Parameters>
159 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
160 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
162 Vector3(1.2, 8.3, 0.45), 1 / 10.0, cov,
173 auto cSurface = Surface::makeShared<CylinderSurface>(cTransform, 200., 1000.);
176 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
177 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
180 pars << 182.34, -82., 0.134, 0.85, 1. / (100_GeV), 0;
193 {10., -5., 0.},
Vector3(0.23, 0.07, 1.).normalized(), 0.004, 0.03);
194 auto dSurface = Surface::makeShared<DiscSurface>(dTransform, 200., 1000.);
197 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
198 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
201 pars << 192.34, 1.823, 0.734, 0.235, 1. / (100_GeV), 0;
213 Vector3 sPosition(3421., 112., 893.);
217 auto pSurface = Surface::makeShared<PlaneSurface>(sPosition, sNormal);
220 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
221 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
224 pars << 12.34, -8722., 2.134, 0.85, 1. / (100_GeV), 0;
236 auto pSurface = Surface::makeShared<PerigeeSurface>(
Vector3({0., 0., 0.}));
239 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
240 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
242 pars << -3.34, -822., -0.734, 0.85, 1. / (100_GeV), 0;
255 auto sSurface = Surface::makeShared<StrawSurface>(
sTransform, 10., 1000.);
258 cov << 10_mm, 0, 0, 0, 0, 0, 0, 10_mm, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0,
259 0, 0.1, 0, 0, 0, 0, 0, 0, 1. / (10_GeV), 0, 0, 0, 0, 0, 0, 0;
262 pars << -8.34, 812., 0.734, 0.25, 1. / (100_GeV), 0;