ATLAS Offline Software
Loading...
Searching...
No Matches
InDetProjFlags.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// //
7// Common flags for Inner Detector projections //
8// //
9// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
10// Initial version: November 2007 //
11// //
13
14//NB: This header file is intended to be seen by other systems (so
15// they can use the flag types as signal parameters) - thus don't add
16// extra includes/functionality here!
17
18#ifndef INDETPROJECTIONFLAGS_H
19#define INDETPROJECTIONFLAGS_H
20
21#include <QFlags>
22
24public:
25
26 //Projected data in which parts of the detector:
28 NoDet = 0x000000,
29 SCT_brlpos = 0x000001,
30 SCT_brlneg = 0x000002,
31 SCT_ecpos = 0x000004,
32 SCT_ecneg = 0x000008,
33 SCT_all = 0x00000F,
34 Pixel_brlpos = 0x000010,
35 Pixel_brlneg = 0x000020,
36 Pixel_ecpos = 0x000040,
37 Pixel_ecneg = 0x000080,
38 Pixel_all = 0x0000F0,
39 TRT_brlpos = 0x000100,
40 TRT_brlneg = 0x000200,
41 TRT_ecpos = 0x000400,
42 TRT_ecneg = 0x000800,
43 TRT_all = 0x000F00
44 };
45 Q_DECLARE_FLAGS(DetTypeFlags, DetTypeFlag)
46
47 //Project to which surfaces:
49 NoProjections = 0x000000,
50 BarrelPositive = 0x000001,
51 BarrelNegative = 0x000002,
52 BarrelCentral = 0x000004,
57 //TRT only:
61 //Convenience:
62 Barrel_All = 0x000007,
63 Barrel_AllPos = 0x000005,
64 Barrel_AllNeg = 0x000006,
65 EndCap_All = 0x0007F0,
66 EndCap_AllPos = 0x000550,
67 EndCap_AllNeg = 0x0006A0
68 };
69 Q_DECLARE_FLAGS(InDetProjPartsFlags, InDetProjPartsFlag)
70
71 //To null out parts of the flags, if the corresponding detector parts are not used:
72 static void projectionPartsGivenUsedDetectors( InDetProjPartsFlags& proj_pixel,
73 InDetProjPartsFlags& proj_sct,
74 InDetProjPartsFlags& proj_trt,
75 const DetTypeFlags& useddets );
76
77private:
80};
81
82Q_DECLARE_OPERATORS_FOR_FLAGS(InDetProjFlags::DetTypeFlags)
83Q_DECLARE_OPERATORS_FOR_FLAGS(InDetProjFlags::InDetProjPartsFlags)
84
85#endif
static void projectionPartsGivenUsedDetectors(InDetProjPartsFlags &proj_pixel, InDetProjPartsFlags &proj_sct, InDetProjPartsFlags &proj_trt, const DetTypeFlags &useddets)