Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:00

0001 // This file is part of the Acts project.
0002 //
0003 // Copyright (C) 2023 CERN for the benefit of the Acts project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 namespace Acts {
0012 
0013 /// Enum to access the components of a track parameter vector.
0014 ///
0015 /// Here, we parametrize the track via a 4D point on the track, the momentum
0016 /// angles of the particle at that point, and q/p or 1/p.
0017 ///
0018 /// @note It would make sense to rename these parameters if they are used outside of track linearization.
0019 /// @note This must be a regular `enum` and not a scoped `enum class` to allow
0020 /// implicit conversion to an integer. The enum value are thus visible directly
0021 /// in `namespace Acts` and are prefixed to avoid naming collisions.
0022 enum LinIndices : unsigned int {
0023   // Global spatial position of a point on the track, must be stored as one
0024   // continuous block.
0025   eLinPos0 = 0u,
0026   eLinPos1 = eLinPos0 + 1u,
0027   eLinPos2 = eLinPos0 + 2u,
0028   // Global time when particle is at the point
0029   eLinTime = 3u,
0030   // Angles of the particle momentum in the global frame at the point
0031   eLinPhi = 4u,
0032   eLinTheta = eLinPhi + 1u,
0033   // Global inverse-momentum-like parameter, i.e. q/p or 1/p, at the point
0034   // The naming is inconsistent for the case of neutral track parameters where
0035   // the value is interpreted as 1/p not as q/p. This is intentional to avoid
0036   // having multiple aliases for the same element and for lack of an acceptable
0037   // common name.
0038   eLinQOverP = 6u,
0039   // Total number of components
0040   eLinSize = 7u,
0041   // Number of space-time components (3+1)
0042   eLinPosSize = 4u,
0043   // Number of momentum components
0044   eLinMomSize = 3u,
0045 };
0046 
0047 }  // namespace Acts