9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/unit_test.hpp>
22 using namespace Acts::UnitLiterals;
33 static const double mass[] = {511_keV, 105.7_MeV, 139.6_MeV, 938.3_MeV};
34 static const double charge[] = {-1_e, -1_e, 1_e, 1_e};
38 static const auto momentum_low = data::xrange(100_MeV, 10_GeV, 100_MeV);
39 static const auto momentum_med = data::xrange(10_GeV, 100_GeV, 10_GeV);
40 static const auto momentum_high = data::xrange(100_GeV, 10_TeV, 100_GeV);
43 BOOST_AUTO_TEST_SUITE(interactions)
49 const auto qOverP = q /
p;
50 const auto absQ = std::abs(q);
56 auto dELandauSigmaQOverP =
62 BOOST_CHECK_LT(0, dEBethe);
63 BOOST_CHECK_LT(0, dELandau);
64 BOOST_CHECK_LT(0, dELandauSigma);
65 BOOST_CHECK_LT(0, dELandauSigmaQOverP);
66 BOOST_CHECK_LE(dELandauSigma, dEBethe);
68 BOOST_CHECK_LE(0, dERad);
69 BOOST_CHECK_LT(0, dEMean);
70 BOOST_CHECK_LT(0, dEMode);
71 BOOST_CHECK_LE((dEBethe + dERad), dEMean);
81 const auto qOverP = q /
p;
82 const auto qOver2P = q / (2 *
p);
83 const auto absQ = std::abs(q);
87 BOOST_CHECK_LT(0, t0);
90 BOOST_CHECK_LT(0, tanti);
91 BOOST_CHECK_EQUAL(t0, tanti);
95 BOOST_CHECK_LT(0, t2x);
96 BOOST_CHECK_LT(t0, t2x);
99 BOOST_CHECK_LT(0, t2p);
100 BOOST_CHECK_LT(t2p, t0);
106 const auto qOverP = q /
p;
107 const auto absQ = std::abs(q);
125 static const double momentum[] = {0.1003_GeV, 1.101_GeV, 10.11_GeV, 100.1_GeV};
133 const auto m = 105.7_MeV;
135 const auto qOverP = q /
p;
136 const auto absQ = std::abs(q);
140 slab.material().massDensity() / (1_MeV * 1_cm2 / 1_g),
149 const float m = 105.7_MeV;
150 const float q = -1_e;
151 const float qOverP = q / 10_GeV;
152 const float absQ = std::abs(q);
156 BOOST_CHECK_CLOSE(dE, 0.525, 5.);
161 BOOST_CHECK_CLOSE(fwhm, 0.13, 10.);
164 BOOST_AUTO_TEST_SUITE_END()