ATLAS Offline Software
Public Types | Static Public Member Functions | Private Member Functions | List of all members
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:
InDetProjFlags::EndCap_AllNeg
@ EndCap_AllNeg
Definition: InDetProjFlags.h:67
InDetProjFlags::EndCapOuterNegative
@ EndCapOuterNegative
Definition: InDetProjFlags.h:54
InDetProjFlags::SCT_all
@ SCT_all
Definition: InDetProjFlags.h:33
InDetProjFlags::Pixel_ecpos
@ Pixel_ecpos
Definition: InDetProjFlags.h:36
InDetProjFlags::BarrelPositive
@ BarrelPositive
Definition: InDetProjFlags.h:50
InDetProjFlags::TRT_ecpos
@ TRT_ecpos
Definition: InDetProjFlags.h:41
InDetProjFlags::Pixel_brlpos
@ Pixel_brlpos
Definition: InDetProjFlags.h:34
InDetProjFlags::Barrel_AllNeg
@ Barrel_AllNeg
Definition: InDetProjFlags.h:64
InDetProjFlags::TRT_EndCapZToRCentral
@ TRT_EndCapZToRCentral
Definition: InDetProjFlags.h:60
InDetProjFlags::SCT_brlpos
@ SCT_brlpos
Definition: InDetProjFlags.h:29
InDetProjFlags::Barrel_AllPos
@ Barrel_AllPos
Definition: InDetProjFlags.h:63
InDetProjFlags::SCT_ecpos
@ SCT_ecpos
Definition: InDetProjFlags.h:31
InDetProjFlags::EndCapInnerPositive
@ EndCapInnerPositive
Definition: InDetProjFlags.h:55
InDetProjFlags::SCT_ecneg
@ SCT_ecneg
Definition: InDetProjFlags.h:32
InDetProjFlags::EndCapInnerNegative
@ EndCapInnerNegative
Definition: InDetProjFlags.h:56
InDetProjFlags::BarrelCentral
@ BarrelCentral
Definition: InDetProjFlags.h:52
InDetProjFlags::EndCap_AllPos
@ EndCap_AllPos
Definition: InDetProjFlags.h:66
InDetProjFlags::Pixel_ecneg
@ Pixel_ecneg
Definition: InDetProjFlags.h:37
InDetProjFlags::TRT_all
@ TRT_all
Definition: InDetProjFlags.h:43
InDetProjFlags::Pixel_all
@ Pixel_all
Definition: InDetProjFlags.h:38
InDetProjFlags::Barrel_All
@ Barrel_All
Definition: InDetProjFlags.h:62
InDetProjFlags::TRT_brlpos
@ TRT_brlpos
Definition: InDetProjFlags.h:39
InDetProjFlags::NoDet
@ NoDet
Definition: InDetProjFlags.h:28
InDetProjFlags::Pixel_brlneg
@ Pixel_brlneg
Definition: InDetProjFlags.h:35
InDetProjFlags::EndCap_All
@ EndCap_All
Definition: InDetProjFlags.h:65
InDetProjFlags::TRT_brlneg
@ TRT_brlneg
Definition: InDetProjFlags.h:40
InDetProjFlags::TRT_ecneg
@ TRT_ecneg
Definition: InDetProjFlags.h:42
InDetProjFlags::NoProjections
@ NoProjections
Definition: InDetProjFlags.h:49
InDetProjFlags::TRT_EndCapZToRPositive
@ TRT_EndCapZToRPositive
Definition: InDetProjFlags.h:58
InDetProjFlags::BarrelNegative
@ BarrelNegative
Definition: InDetProjFlags.h:51
InDetProjFlags::EndCapOuterPositive
@ EndCapOuterPositive
Definition: InDetProjFlags.h:53
InDetProjFlags::SCT_brlneg
@ SCT_brlneg
Definition: InDetProjFlags.h:30
InDetProjFlags::TRT_EndCapZToRNegative
@ TRT_EndCapZToRNegative
Definition: InDetProjFlags.h:59