ATLAS Offline Software
Loading...
Searching...
No Matches
InDetProjFlags Class Reference

#include <InDetProjFlags.h>

Collaboration diagram for InDetProjFlags:

Public Types

enum  DetTypeFlag {
  NoDet = 0x000000 , SCT_brlpos = 0x000001 , SCT_brlneg = 0x000002 , SCT_ecpos = 0x000004 ,
  SCT_ecneg = 0x000008 , SCT_all = 0x00000F , Pixel_brlpos = 0x000010 , Pixel_brlneg = 0x000020 ,
  Pixel_ecpos = 0x000040 , Pixel_ecneg = 0x000080 , Pixel_all = 0x0000F0 , TRT_brlpos = 0x000100 ,
  TRT_brlneg = 0x000200 , TRT_ecpos = 0x000400 , TRT_ecneg = 0x000800 , TRT_all = 0x000F00
}
enum  InDetProjPartsFlag {
  NoProjections = 0x000000 , BarrelPositive = 0x000001 , BarrelNegative = 0x000002 , BarrelCentral = 0x000004 ,
  EndCapOuterPositive = 0x000010 , EndCapOuterNegative = 0x000020 , EndCapInnerPositive = 0x000040 , EndCapInnerNegative = 0x000080 ,
  TRT_EndCapZToRPositive = 0x000100 , TRT_EndCapZToRNegative = 0x000200 , TRT_EndCapZToRCentral = 0x000400 , Barrel_All = 0x000007 ,
  Barrel_AllPos = 0x000005 , Barrel_AllNeg = 0x000006 , EndCap_All = 0x0007F0 , EndCap_AllPos = 0x000550 ,
  EndCap_AllNeg = 0x0006A0
}

Static Public Member Functions

static void projectionPartsGivenUsedDetectors (InDetProjPartsFlags &proj_pixel, InDetProjPartsFlags &proj_sct, InDetProjPartsFlags &proj_trt, const DetTypeFlags &useddets)

Private Member Functions

 InDetProjFlags ()
 ~InDetProjFlags ()

Detailed Description

Definition at line 23 of file InDetProjFlags.h.

Member Enumeration Documentation

◆ DetTypeFlag

Enumerator
NoDet 
SCT_brlpos 
SCT_brlneg 
SCT_ecpos 
SCT_ecneg 
SCT_all 
Pixel_brlpos 
Pixel_brlneg 
Pixel_ecpos 
Pixel_ecneg 
Pixel_all 
TRT_brlpos 
TRT_brlneg 
TRT_ecpos 
TRT_ecneg 
TRT_all 

Definition at line 27 of file InDetProjFlags.h.

27 {
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 };

◆ InDetProjPartsFlag

Enumerator
NoProjections 
BarrelPositive 
BarrelNegative 
BarrelCentral 
EndCapOuterPositive 
EndCapOuterNegative 
EndCapInnerPositive 
EndCapInnerNegative 
TRT_EndCapZToRPositive 
TRT_EndCapZToRNegative 
TRT_EndCapZToRCentral 
Barrel_All 
Barrel_AllPos 
Barrel_AllNeg 
EndCap_All 
EndCap_AllPos 
EndCap_AllNeg 

Definition at line 48 of file InDetProjFlags.h.

48 {
49 NoProjections = 0x000000,
50 BarrelPositive = 0x000001,
51 BarrelNegative = 0x000002,
52 BarrelCentral = 0x000004,
53 EndCapOuterPositive = 0x000010,
54 EndCapOuterNegative = 0x000020,
55 EndCapInnerPositive = 0x000040,
56 EndCapInnerNegative = 0x000080,
57 //TRT only:
58 TRT_EndCapZToRPositive = 0x000100,
59 TRT_EndCapZToRNegative = 0x000200,
60 TRT_EndCapZToRCentral = 0x000400,
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 };

Constructor & Destructor Documentation

◆ InDetProjFlags()

InDetProjFlags::InDetProjFlags ( )
private

◆ ~InDetProjFlags()

InDetProjFlags::~InDetProjFlags ( )
private

Member Function Documentation

◆ projectionPartsGivenUsedDetectors()

void InDetProjFlags::projectionPartsGivenUsedDetectors ( InDetProjPartsFlags & proj_pixel,
InDetProjPartsFlags & proj_sct,
InDetProjPartsFlags & proj_trt,
const DetTypeFlags & useddets )
static

Definition at line 17 of file InDetProjFlags.cxx.

21{
22 InDetProjPartsFlags not_allbarrel = ~(BarrelPositive|BarrelNegative|BarrelCentral);
23 InDetProjPartsFlags not_allendcap = ~(EndCapOuterPositive|EndCapOuterNegative
27 InDetProjPartsFlags not_allendcappos = ~(EndCapOuterPositive|EndCapInnerPositive|TRT_EndCapZToRPositive);
28 InDetProjPartsFlags not_allendcapneg = ~(EndCapOuterNegative|EndCapInnerNegative|TRT_EndCapZToRNegative);
29
30 if (proj_pixel!=NoProjections) {
31 if (useddets&Pixel_all) {
32 if (!(useddets&(Pixel_brlpos|Pixel_brlneg))) {
33 proj_pixel &= not_allbarrel;//No pixel barrel at all:
34 } else {
35 if (!(useddets&Pixel_brlpos)) proj_pixel &= ~BarrelPositive;//No pixel pos barrel
36 if (!(useddets&Pixel_brlneg)) proj_pixel &= ~BarrelNegative;//No pixel neg barrel
37 }
38 if (!(useddets&(Pixel_ecpos|Pixel_ecneg))) {
39 proj_pixel &= not_allendcap;//No pixel endcaps at all.
40 } else {
41 if (!(useddets&Pixel_ecpos)) proj_pixel &= not_allendcappos;//No pixel pos endcap
42 if (!(useddets&Pixel_ecneg)) proj_pixel &= not_allendcapneg;//No pixel neg endcap
43 }
44 } else {
45 proj_pixel = NoProjections;
46 }
47 }
48
49 if (proj_sct!=NoProjections) {
50 if (useddets&SCT_all) {
51 if (!(useddets&(SCT_brlpos|SCT_brlneg))) {
52 proj_sct &= not_allbarrel;//No sct barrel at all:
53 } else {
54 if (!(useddets&SCT_brlpos)) proj_sct &= ~BarrelPositive;//No sct pos barrel
55 if (!(useddets&SCT_brlneg)) proj_sct &= ~BarrelNegative;//No sct neg barrel
56 }
57 if (!(useddets&(SCT_ecpos|SCT_ecneg))) {
58 proj_sct &= not_allendcap;//No sct endcaps at all.
59 } else {
60 if (!(useddets&SCT_ecpos)) proj_sct &= not_allendcappos;//No sct pos endcap
61 if (!(useddets&SCT_ecneg)) proj_sct &= not_allendcapneg;//No sct neg endcap
62 }
63 } else {
64 proj_sct = NoProjections;
65 }
66 }
67
68 if (proj_trt!=NoProjections) {
69 if (useddets&TRT_all) {
70 if (!(useddets&(TRT_brlpos|TRT_brlneg))) {
71 proj_trt &= not_allbarrel;//No trt barrel at all:
72 } else {
73 if (!(useddets&TRT_brlpos)) proj_trt &= ~BarrelPositive;//No trt pos barrel
74 if (!(useddets&TRT_brlneg)) proj_trt &= ~BarrelNegative;//No trt neg barrel
75 }
76 if (!(useddets&(TRT_ecpos|TRT_ecneg))) {
77 proj_trt &= not_allendcap;//No trt endcaps at all.
78 } else {
79 if (!(useddets&TRT_ecpos)) proj_trt &= not_allendcappos;//No trt pos endcap
80 if (!(useddets&TRT_ecneg)) proj_trt &= not_allendcapneg;//No trt neg endcap
81 }
82 } else {
83 proj_trt = NoProjections;
84 }
85 }
86}

The documentation for this class was generated from the following files: