|
|
|||
File indexing completed on 2026-05-21 07:46:20
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 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 https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/Utilities/EnumBitwiseOperators.hpp" 0012 0013 #include <cstdint> 0014 #include <iosfwd> 0015 0016 namespace Acts { 0017 0018 /// This is a steering enum to tell which material update mode: 0019 /// - NoUpdate : no update 0020 /// - PreUpdate : update on approach of a surface 0021 /// - PostUpdate : update when leaving a surface 0022 /// - FullUpdate : update when passing a surface 0023 enum class MaterialUpdateMode : std::uint8_t { 0024 NoUpdate = 0, 0025 PreUpdate = 1, 0026 PostUpdate = 2, 0027 FullUpdate = PreUpdate | PostUpdate, 0028 }; 0029 0030 /// Enable bitwise operators for MaterialUpdateMode enum 0031 ACTS_DEFINE_ENUM_BITWISE_OPERATORS(MaterialUpdateMode); 0032 0033 /// Stream operator for MaterialUpdateMode 0034 /// @param os Output stream 0035 /// @param mode MaterialUpdateMode to output 0036 /// @return Reference to output stream 0037 std::ostream& operator<<(std::ostream& os, MaterialUpdateMode mode); 0038 0039 /// @enum NoiseUpdateMode to tell how to deal with noise term in covariance 0040 /// transport 0041 /// - removeNoise: subtract noise term 0042 /// - addNoise: add noise term 0043 enum class NoiseUpdateMode : int { removeNoise = -1, addNoise = 1 }; 0044 0045 /// Components of coordinate vectors. 0046 /// 0047 /// To be used to access coordinate components by named indices instead of magic 0048 /// numbers. This must be a regular `enum` and not a scoped `enum class` to 0049 /// allow implicit conversion to an integer. The enum value are thus visible 0050 /// directly in `namespace Acts`. 0051 /// 0052 /// This index enum is not user-configurable (in contrast e.g. to the track 0053 /// parameter index enums) since it must be compatible with varying 0054 /// dimensionality (2d-4d) and other access methods (`.{x,y,z}()` accessors). 0055 enum CoordinateIndices : unsigned int { 0056 // generic position-like access 0057 ePos0 = 0, 0058 ePos1 = 1, 0059 ePos2 = 2, 0060 eTime = 3, 0061 // generic momentum-like access 0062 eMom0 = ePos0, 0063 eMom1 = ePos1, 0064 eMom2 = ePos2, 0065 eEnergy = eTime, 0066 // Cartesian spatial coordinates 0067 eX = ePos0, 0068 eY = ePos1, 0069 eZ = ePos2, 0070 }; 0071 0072 } // namespace Acts
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|