ATLAS Offline Software
Loading...
Searching...
No Matches
GeometryDefs.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef ACTSGEOMETRYINTERFACES_GEOMETRYDEFS_H
5#define ACTSGEOMETRYINTERFACES_GEOMETRYDEFS_H
6
10#include <string>
11#include <string_view>
12#include <ostream>
13#ifndef SIMULATIONBASE
15# include "Acts/Utilities/OstreamFormatter.hpp"
16#endif
17
18#define ENUM_ITEM_STR(item) \
19 case item: return #item;
20
21
22namespace ActsTrk {
40
42 enum class SystemEnvelope: std::uint8_t {
43 ITkExit, // Envelope volume of the ITk
44 CaloExit, // Enevelope volume of the Calorimeter / Ms entrance
45 MsExit // Envelope around the Muon system
46 };
47
53 constexpr std::size_t s_stripVolumeId = 20;
54 constexpr std::size_t s_innerPixelVolumeId = 5;
55 constexpr std::size_t s_outerPixelVolumeId = 10;
56 constexpr std::size_t s_beamPipeVolumeId = 1;
58 constexpr std::size_t s_caloEnvelopeID = 39;
59 constexpr std::size_t s_caloBarrelId = 40;
60 /* Volume Ids used within the muon system */
61 constexpr std::size_t s_muonBarrelId = 80;
62 constexpr std::size_t s_muonEndcapAId = 81;
63 constexpr std::size_t s_muonEndcapCId = 82;
64 constexpr std::size_t s_muonEndcapMiddleAId = 83;
65 constexpr std::size_t s_muonEndcapMiddleCId = 84;
66 }
67 namespace detail{
69 inline std::string toString(const DetectorType type) {
70 switch (type) {
71 using enum DetectorType;
83 }
84 return "Unknown";
85 }
86 inline std::string toString(const SystemEnvelope type) {
87 switch (type) {
88 using enum SystemEnvelope;
92 }
93 return "Unknown";
94 }
95 }
97 inline std::ostream& operator<<(std::ostream& ostr, const DetectorType type) {
98 return (ostr<<detail::toString(type));
99 }
100
101 inline std::ostream& operator<<(std::ostream& ostr, const SystemEnvelope type) {
102 return (ostr<<detail::toString(type));
103 }
104
105} // namespace ActsTrk
106
107#ifndef SIMULATIONBASE
110#endif
111
112#undef ENUM_ITEM_STR
113#endif
ACTS_OSTREAM_FORMATTER(ActsTrk::DetectorType)
#define ENUM_ITEM_STR(item)
Load ATLAS Eigen library with custom geometry functions.
Define the volume parts of the GeometryIdentifier for each ATLAS subsystem centrally.
constexpr std::size_t s_outerPixelVolumeId
constexpr std::size_t s_muonEndcapAId
constexpr std::size_t s_muonEndcapCId
constexpr std::size_t s_muonEndcapMiddleCId
constexpr std::size_t s_caloEnvelopeID
Volume Ids ofthe Calorimeter.
constexpr std::size_t s_caloBarrelId
constexpr std::size_t s_beamPipeVolumeId
constexpr std::size_t s_stripVolumeId
Volume Ids used within the ITk.
constexpr std::size_t s_muonBarrelId
constexpr std::size_t s_muonEndcapMiddleAId
constexpr std::size_t s_innerPixelVolumeId
std::string toString(const DetectorType type)
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
std::ostream & operator<<(std::ostream &ostr, const DetectorType type)
Pipe the detector type to an outstream object.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
@ Mm
Maybe not needed in the migration.
@ Tgc
Resitive Plate Chambers.
@ sTgc
Micromegas (NSW).
@ Rpc
Monitored Drift Tubes.
@ Csc
Thin gap champers.
@ Mdt
MuonSpectrometer.
@ UnDefined
Small Thing Gap chambers (NSW).
SystemEnvelope
Define an enumeration to retrieve the envelope tracking volume from.