Analysis Software
Documentation for sPHENIX simulation 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 #pragma once
10 
11 #include <boost/test/data/test_case.hpp>
12 
14 
15 namespace ActsTests {
16 namespace PropagationDatasets {
17 
18 namespace bdata = boost::unit_test::data;
19 using namespace Acts::UnitLiterals;
20 
21 // direction angles
22 // upper limit is max+eps to ensure max is included
23 // this includes both 180° and -180° which refer to the same point
24 const auto phi = bdata::xrange(-180_degree, 181_degree, 45_degree);
25 // exclude 180° and -180° e.g. to avoid numerical issues
26 const auto phiWithoutAmbiguity =
27  bdata::xrange(-135_degree, 136_degree, 45_degree);
28 // equivalent to |eta| < 1
29 const auto thetaCentral = bdata::make({45_degree, 90_degree, 135_degree});
30 // equivalent to 1 < |eta| <~ 4
31 const auto thetaForwardBackward = bdata::make(
32  {2_degree, 10_degree, 30_degree, 150_degree, 170_degree, 178_degree});
33 const auto thetaBeam = bdata::make({0_degree, 180_degree});
36 
37 // momentum and charge
38 const auto absMomentum = bdata::make({0.5_GeV, 1_GeV, 10_GeV, 100_GeV});
39 const auto chargeNonZero = bdata::make({1_e, -1_e});
40 
41 // how long to propagated (either relatively or absolute)
42 const auto propagationFraction = bdata::make({0.125, 0.2, 0.4});
43 // WARNING the maximum path length must be small enough to not exceed the track
44 // apogee of the lowest momentum and highest magnetic field
45 const auto pathLength = bdata::make({1_cm, 10_cm});
46 
47 // magnetic field strength
48 const auto magneticField = bdata::make({0.5_T, 2_T, 4_T});
49 
50 } // namespace PropagationDatasets
51 } // namespace ActsTests