|
|
|||
File indexing completed on 2025-12-15 09:41:59
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 <iosfwd> 0012 0013 namespace Acts { 0014 0015 /// This is a steering enum to tell which material update stage: 0016 /// - PreUpdate : update on approach of a surface 0017 /// - FullUpdate : update when passing a surface 0018 /// - PostUpdate : update when leaving a surface 0019 enum class MaterialUpdateStage : int { 0020 PreUpdate = -1, 0021 FullUpdate = 0, 0022 PostUpdate = 1 0023 }; 0024 0025 /// Stream operator for MaterialUpdateStage 0026 /// @param os Output stream 0027 /// @param matUpdate MaterialUpdateStage to output 0028 /// @return Reference to output stream 0029 std::ostream& operator<<(std::ostream& os, MaterialUpdateStage matUpdate); 0030 0031 /// @enum NoiseUpdateMode to tell how to deal with noise term in covariance 0032 /// transport 0033 /// - removeNoise: subtract noise term 0034 /// - addNoise: add noise term 0035 enum NoiseUpdateMode : int { removeNoise = -1, addNoise = 1 }; 0036 0037 /// Components of coordinate vectors. 0038 /// 0039 /// To be used to access coordinate components by named indices instead of magic 0040 /// numbers. This must be a regular `enum` and not a scoped `enum class` to 0041 /// allow implicit conversion to an integer. The enum value are thus visible 0042 /// directly in `namespace Acts`. 0043 /// 0044 /// This index enum is not user-configurable (in contrast e.g. to the track 0045 /// parameter index enums) since it must be compatible with varying 0046 /// dimensionality (2d-4d) and other access methods (`.{x,y,z}()` accessors). 0047 enum CoordinateIndices : unsigned int { 0048 // generic position-like access 0049 ePos0 = 0, 0050 ePos1 = 1, 0051 ePos2 = 2, 0052 eTime = 3, 0053 // generic momentum-like access 0054 eMom0 = ePos0, 0055 eMom1 = ePos1, 0056 eMom2 = ePos2, 0057 eEnergy = eTime, 0058 // Cartesian spatial coordinates 0059 eX = ePos0, 0060 eY = ePos1, 0061 eZ = ePos2, 0062 }; 0063 0064 } // 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 |
|