EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PropagationDatasets.hpp
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PropagationDatasets.hpp
1 // This file is part of the Acts project.
2 //
3 // Copyright (C) 2020 CERN for the benefit of the Acts project
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9 #include <boost/test/data/test_case.hpp>
10 
11 #include "Acts/Utilities/Units.hpp"
12 
13 namespace ActsTests {
14 namespace PropagationDatasets {
15 
16 namespace bdata = boost::unit_test::data;
17 using namespace Acts::UnitLiterals;
18 
19 // direction angles
20 // upper limit is max+eps to ensure max is included
21 // this includes both 180° and -180° which refer to the same point
22 const auto phi = bdata::xrange(-180_degree, 181_degree, 45_degree);
23 // exclude 180° and -180° e.g. to avoid numerical issues
24 const auto phiWithoutAmbiguity =
25  bdata::xrange(-135_degree, 136_degree, 45_degree);
26 // equivalent to |eta| < 1
27 const auto thetaCentral = bdata::make({45_degree, 90_degree, 135_degree});
28 // equivalent to 1 < |eta| <~ 4
29 const auto thetaForwardBackward = bdata::make(
30  {2_degree, 10_degree, 30_degree, 150_degree, 170_degree, 178_degree});
31 const auto thetaBeam = bdata::make({0_degree, 180_degree});
34 
35 // momentum and charge
36 const auto absMomentum = bdata::make({0.5_GeV, 1_GeV, 10_GeV, 100_GeV});
37 const auto chargeNonZero = bdata::make({1_e, -1_e});
38 
39 // how long to propagated (either relatively or absolute)
40 const auto propagationFraction = bdata::make({0.125, 0.2, 0.4});
41 // WARNING the maximum path length must be small enough to not exceed the track
42 // apogee of the lowest momentum and highest magnetic field
43 const auto pathLength = bdata::make({1_cm, 10_cm});
44 
45 // magnetic field strength
46 const auto magneticField = bdata::make({0.5_T, 2_T, 4_T});
47 
48 } // namespace PropagationDatasets
49 } // namespace ActsTests