ATLAS Offline Software
VP1GeoFlags.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class VP1GeoFlags //
9 // //
10 // Description: Flags for geometry system. //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: October 2008 //
14 // //
16 
17 #ifndef VP1GEOFLAGS_H
18 #define VP1GEOFLAGS_H
19 // GeoModel
21 //
22 #include "GeoModelKernel/GeoVPhysVol.h"
23 
24 #include <QFlags>
25 #include <QString>
26 
27 class VP1GeoFlags {
28 public:
29 
30  enum SubSystemFlag { // 32-bits hexadecimal bitmask
31 
32  None = 0x00000000,
33 
34  Pixel = 0x00000001, // bit 0
35  SCT = 0x00000002, // 1
36  TRT = 0x00000004, // 2
37  InDetServMat = 0x00000008, // 3
38 
39  LAr = 0x00000010, // 4
40  Tile = 0x00000020, // 5
41  BarrelToroid = 0x00000040, // 6 - FIXME - make barrel
42  MuonBarrelStationInner = 0x00000080, // 7
43 
44  MuonBarrelStationMiddle = 0x00000100, // 8
45  MuonBarrelStationOuter = 0x00000200, // 9
46  MuonEndcapStationCSC = 0x00000400, // 10
47  MuonEndcapStationTGC = 0x00000800, // 11
48 
49  MuonEndcapStationMDT = 0x00001000, // 12
50  AllMuonChambers = 0x00001F80, // == all bits occupied by the Muon chambers (80+100+200+400+800+1000)
51  CavernInfra = 0x00002000, // 13
52  BeamPipe = 0x00004000, // 14
53  // free = 0x00008000, // 15
54 
55  LUCID = 0x00010000, // 16
56  ZDC = 0x00020000, // 17
57  ALFA = 0x00040000, // 18
58  ToroidECA = 0x00080000, // 19
59 
60  ToroidECC = 0x00100000, // 20 FIXME! Remove and cleanup nomenclature
61  MuonFeet = 0x00200000, // 21
62  MuonShielding = 0x00400000, // 22
63  MuonToroidsEtc = 0x00800000, // 23
64 
65  MuonEndcapStationNSW = 0x01000000, // 24
66  ForwardRegion = 0x02000000, // 25
67  AFP = 0x04000000, // 26
68  // free = 0x08000000, // 27
69 
70  // free = 0x10000000, // 28
71  // free = 0x20000000, // 29
72  // free = 0x40000000, // 30
73  AllUnrecognisedVolumes = 0x80000000 // bit 31
74  };
75  Q_DECLARE_FLAGS(SubSystemFlags, SubSystemFlag)
76 
78  OpenMDTChambers = 0x000001,
79  OpenCSCChambers = 0x000010,
80  OpenTGCChambers = 0x000100,
81  HideMDTTubes = 0x001000,
82  HideRPCVolumes = 0x010000
83  };
84  Q_DECLARE_FLAGS(MuonChamberAdaptionStyleFlags, MuonChamberAdaptionStyleFlag)
85 
86  //VolumeState:
87  enum VOLSTATE { CONTRACTED,//Show volume if parent is EXPANDED, never show children.
88  EXPANDED,//Dont show volume ( => show all un-zapped children or their children as appropriate).
89  ZAPPED//Dont show volume ( => show no children).
90  };
91  static QString toString(const VOLSTATE&);
92 
93 private:
96 };
97 
98 Q_DECLARE_OPERATORS_FOR_FLAGS(VP1GeoFlags::SubSystemFlags)
99 Q_DECLARE_OPERATORS_FOR_FLAGS(VP1GeoFlags::MuonChamberAdaptionStyleFlags)
100 
101 #endif
VP1GeoFlags::MuonBarrelStationInner
@ MuonBarrelStationInner
Definition: VP1GeoFlags.h:42
VP1GeoFlags::ToroidECA
@ ToroidECA
Definition: VP1GeoFlags.h:58
VP1GeoFlags::MuonShielding
@ MuonShielding
Definition: VP1GeoFlags.h:62
VP1GeoFlags::ALFA
@ ALFA
Definition: VP1GeoFlags.h:57
Pixel
Definition: PixelFEUtils.h:16
VP1GeoFlags::EXPANDED
@ EXPANDED
Definition: VP1GeoFlags.h:88
LAr
Definition: LArVolumeBuilder.h:36
VP1GeoFlags::InDetServMat
@ InDetServMat
Definition: VP1GeoFlags.h:37
VP1GeoFlags::ToroidECC
@ ToroidECC
Definition: VP1GeoFlags.h:60
VP1GeoFlags::AllMuonChambers
@ AllMuonChambers
Definition: VP1GeoFlags.h:50
VP1GeoFlags::BeamPipe
@ BeamPipe
Definition: VP1GeoFlags.h:52
VP1GeoFlags::MuonChamberAdaptionStyleFlag
MuonChamberAdaptionStyleFlag
Definition: VP1GeoFlags.h:77
VP1GeoFlags::HideRPCVolumes
@ HideRPCVolumes
Definition: VP1GeoFlags.h:82
AFP
Header file for interface of SiGlobAlignDBTool used to read global alignment for database.
Definition: ISiGlobAlignDBTool.h:18
VP1GeoFlags::MuonFeet
@ MuonFeet
Definition: VP1GeoFlags.h:61
VP1GeoFlags::MuonToroidsEtc
@ MuonToroidsEtc
Definition: VP1GeoFlags.h:63
VP1GeoFlags::MuonEndcapStationNSW
@ MuonEndcapStationNSW
Definition: VP1GeoFlags.h:65
VP1GeoFlags::VP1GeoFlags
VP1GeoFlags()
VP1GeoFlags::MuonEndcapStationCSC
@ MuonEndcapStationCSC
Definition: VP1GeoFlags.h:46
VP1GeoFlags::ForwardRegion
@ ForwardRegion
Definition: VP1GeoFlags.h:66
GeoPrimitives.h
Tile
Definition: TileVolumeBuilder.h:43
TRT
Definition: HitInfo.h:33
VP1GeoFlags::OpenCSCChambers
@ OpenCSCChambers
Definition: VP1GeoFlags.h:79
VP1GeoFlags::MuonEndcapStationMDT
@ MuonEndcapStationMDT
Definition: VP1GeoFlags.h:49
VP1GeoFlags::MuonEndcapStationTGC
@ MuonEndcapStationTGC
Definition: VP1GeoFlags.h:47
VP1GeoFlags::VOLSTATE
VOLSTATE
Definition: VP1GeoFlags.h:87
VP1GeoFlags::OpenMDTChambers
@ OpenMDTChambers
Definition: VP1GeoFlags.h:78
VP1GeoFlags::AllUnrecognisedVolumes
@ AllUnrecognisedVolumes
Definition: VP1GeoFlags.h:73
VP1GeoFlags::None
@ None
Definition: VP1GeoFlags.h:32
SCT
Definition: SCT_ChipUtils.h:14
VP1GeoFlags::~VP1GeoFlags
~VP1GeoFlags()
VP1GeoFlags::LUCID
@ LUCID
Definition: VP1GeoFlags.h:55
VP1GeoFlags::ZAPPED
@ ZAPPED
Definition: VP1GeoFlags.h:89
VP1GeoFlags::toString
static QString toString(const VOLSTATE &)
Definition: VP1GeoFlags.cxx:18
VP1GeoFlags::MuonBarrelStationMiddle
@ MuonBarrelStationMiddle
Definition: VP1GeoFlags.h:44
ZDC
Definition: RpdSubtractCentroidTool.cxx:13
VP1GeoFlags::HideMDTTubes
@ HideMDTTubes
Definition: VP1GeoFlags.h:81
VP1GeoFlags::MuonBarrelStationOuter
@ MuonBarrelStationOuter
Definition: VP1GeoFlags.h:45
VP1GeoFlags
Definition: VP1GeoFlags.h:27
VP1GeoFlags::OpenTGCChambers
@ OpenTGCChambers
Definition: VP1GeoFlags.h:80
VP1GeoFlags::SubSystemFlag
SubSystemFlag
Definition: VP1GeoFlags.h:30
VP1GeoFlags::BarrelToroid
@ BarrelToroid
Definition: VP1GeoFlags.h:41
VP1GeoFlags::CavernInfra
@ CavernInfra
Definition: VP1GeoFlags.h:51
VP1GeoFlags::CONTRACTED
@ CONTRACTED
Definition: VP1GeoFlags.h:87