Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /acts/Core/include/Acts/EventData/SpacePointColumns.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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 
0015 namespace Acts {
0016 
0017 /// Enumeration of available columns for space point data storage
0018 enum class SpacePointColumns : std::uint32_t {
0019   None = 0,  ///< No columns
0020 
0021   SourceLinks = 1 << 0,           ///< Source link information
0022   X = 1 << 1,                     ///< X coordinate
0023   Y = 1 << 2,                     ///< Y coordinate
0024   Z = 1 << 3,                     ///< Z coordinate
0025   R = 1 << 4,                     ///< Radial coordinate
0026   Phi = 1 << 5,                   ///< Azimuthal angle
0027   Time = 1 << 6,                  ///< Time information
0028   VarianceZ = 1 << 7,             ///< Variance in Z direction
0029   VarianceR = 1 << 8,             ///< Variance in radial direction
0030   TopStripVector = 1 << 9,        ///< Vector for the top strip
0031   BottomStripVector = 1 << 10,    ///< Vector for the bottom strip
0032   StripCenterDistance = 1 << 11,  ///< Distance to the strip center
0033   TopStripCenter = 1 << 12,       ///< Center of the top strip
0034   CopyFromIndex = 1 << 13,        ///< Copy from index
0035 
0036   // packed columns for performance reasons
0037   PackedXY = 1 << 14,          ///< X and Y coordinates
0038   PackedZR = 1 << 15,          ///< Z and R coordinates
0039   PackedXYZ = 1 << 16,         ///< X, Y, and Z coordinates
0040   PackedXYZR = 1 << 17,        ///< X, Y, Z, and R coordinates
0041   PackedVarianceZR = 1 << 18,  ///< Variance in Z and R directions
0042 
0043   /// All strip-related columns
0044   Strip =
0045       TopStripVector | BottomStripVector | StripCenterDistance | TopStripCenter,
0046 
0047   /// All columns
0048   All = SourceLinks | X | Y | Z | R | Phi | Time | VarianceZ | VarianceR |
0049         TopStripVector | BottomStripVector | StripCenterDistance |
0050         TopStripCenter | CopyFromIndex | PackedXY | PackedZR | PackedXYZ |
0051         PackedXYZR | PackedVarianceZR,
0052 
0053   XY [[deprecated("Use PackedXY instead")]] = 1 << 14,
0054   ZR [[deprecated("Use PackedZR instead")]] = 1 << 15,
0055   XYZ [[deprecated("Use PackedXYZ instead")]] = 1 << 16,
0056   XYZR [[deprecated("Use PackedXYZR instead")]] = 1 << 17,
0057   VarianceZR [[deprecated("Use PackedVarianceZR instead")]] = 1 << 18,
0058 };
0059 
0060 /// Enable bitwise operators for SpacePointColumns enum
0061 ACTS_DEFINE_ENUM_BITWISE_OPERATORS(SpacePointColumns);
0062 
0063 }  // namespace Acts