ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkVolumes
src
CylinderVolumeBoundaryAccessors.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// CylinderVolumeBoundaryAccessors.cxx, (c) ATLAS Detector software
8
9
// Trk
10
#include "
TrkVolumes/CylinderVolumeBoundaryAccessors.h
"
11
12
#include "
TrkVolumes/BoundarySurfaceFace.h
"
13
14
Trk::CylinderVolumeBoundaryAccessors::CylinderVolumeBoundaryAccessors
()
15
{
16
//-------------------------------------------------------------
17
// the cylinder case
18
// CylinderZincrease = 0
19
m_cylinderAccessors
[
Trk::CylinderZincrease
] =
Trk::ThreeObjectsAccessor
{
20
Trk::cylinderCover
,
Trk::positiveFaceXY
,
Trk::negativeFaceXY
21
};
22
// CylinderZincrease = 1
23
m_cylinderAccessors
[
Trk::CylinderZdecrease
] =
Trk::ThreeObjectsAccessor
{
24
Trk::cylinderCover
,
Trk::negativeFaceXY
,
Trk::positiveFaceXY
25
};
26
// CylinderZincrease = 2
27
m_cylinderAccessors
[
Trk::CylinderPositiveFace
] =
Trk::ThreeObjectsAccessor
{
28
Trk::positiveFaceXY
,
Trk::cylinderCover
,
Trk::negativeFaceXY
29
};
30
// CylinderZincrease = 3
31
m_cylinderAccessors
[
Trk::CylinderNegativeFace
] =
Trk::ThreeObjectsAccessor
{
32
Trk::negativeFaceXY
,
Trk::cylinderCover
,
Trk::positiveFaceXY
33
};
34
//-------------------------------------------------------------
35
// the tube case
36
//(A) non-inverse cases
37
// RincreaseZincrease = 0
38
m_tubeAccessors
[
Trk::TubeRincreaseZincrease
] =
39
Trk::FourObjectsAccessor
{ {
Trk::tubeOuterCover
,
40
Trk::positiveFaceXY
,
41
Trk::negativeFaceXY
,
42
Trk::tubeInnerCover
},
43
false
};
44
// RincreaseZdecrease = 1
45
m_tubeAccessors
[
Trk::TubeRincreaseZdecrease
] =
46
Trk::FourObjectsAccessor
{ {
Trk::tubeOuterCover
,
47
Trk::negativeFaceXY
,
48
Trk::positiveFaceXY
,
49
Trk::tubeInnerCover
},
50
false
};
51
// ZincreaseRincrease = 2
52
m_tubeAccessors
[
Trk::TubeZincreaseRincrease
] =
53
Trk::FourObjectsAccessor
{ {
Trk::positiveFaceXY
,
54
Trk::tubeOuterCover
,
55
Trk::negativeFaceXY
,
56
Trk::tubeInnerCover
},
57
false
};
58
// ZdecreaseRincrease = 3
59
m_tubeAccessors
[
Trk::TubeZdecreaseRincrease
] =
60
Trk::FourObjectsAccessor
{ {
Trk::negativeFaceXY
,
61
Trk::tubeOuterCover
,
62
Trk::positiveFaceXY
,
63
Trk::tubeInnerCover
},
64
false
};
65
// RdecreaseZincrease = 4
66
m_tubeAccessors
[
Trk::TubeRdecreaseZincrease
] =
67
Trk::FourObjectsAccessor
{ {
Trk::tubeInnerCover
,
68
Trk::positiveFaceXY
,
69
Trk::negativeFaceXY
,
70
Trk::tubeOuterCover
},
71
false
};
72
// RdecreaseZdecrease = 5
73
m_tubeAccessors
[
Trk::TubeRdecreaseZdecrease
] =
74
Trk::FourObjectsAccessor
{ {
Trk::tubeInnerCover
,
75
Trk::negativeFaceXY
,
76
Trk::positiveFaceXY
,
77
Trk::tubeOuterCover
},
78
false
};
79
// ZincreaseRdecrease = 6
80
m_tubeAccessors
[
Trk::TubeZincreaseRdecrease
] =
81
Trk::FourObjectsAccessor
{ {
Trk::positiveFaceXY
,
82
Trk::tubeInnerCover
,
83
Trk::negativeFaceXY
,
84
Trk::tubeOuterCover
},
85
false
};
86
// ZdecreaseRdecrease = 7
87
m_tubeAccessors
[
Trk::TubeZdecreaseRdecrease
] =
88
Trk::FourObjectsAccessor
{ {
Trk::negativeFaceXY
,
89
Trk::tubeInnerCover
,
90
Trk::positiveFaceXY
,
91
Trk::tubeOuterCover
},
92
false
};
93
//(B) inverse cases
94
// TubeOutsideRminRdecrease = 8
95
m_tubeAccessors
[
Trk::TubeOutsideRminRdecrease
] =
96
Trk::FourObjectsAccessor
{ {
Trk::tubeInnerCover
,
97
Trk::positiveFaceXY
,
98
Trk::negativeFaceXY
,
99
Trk::tubeOuterCover
},
100
true
};
101
// TubeOutsideRmaxRincrease = 9
102
m_tubeAccessors
[
Trk::TubeOutsideRmaxRincrease
] =
103
Trk::FourObjectsAccessor
{ {
Trk::tubeOuterCover
,
104
Trk::positiveFaceXY
,
105
Trk::negativeFaceXY
,
106
Trk::tubeInnerCover
},
107
true
};
108
// TubeOutsideZminZdecrease = Trk::positiveFaceXYTrk::negativeFaceXY
109
m_tubeAccessors
[
Trk::TubeOutsideZminZdecrease
] =
110
Trk::FourObjectsAccessor
{ {
Trk::negativeFaceXY
,
111
Trk::tubeInnerCover
,
112
Trk::tubeOuterCover
,
113
Trk::positiveFaceXY
},
114
true
};
115
// TubeOutsideZmaxZincrease = Trk::positiveFaceXYTrk::positiveFaceXY
116
m_tubeAccessors
[
Trk::TubeOutsideZmaxZincrease
] =
117
Trk::FourObjectsAccessor
{ {
Trk::positiveFaceXY
,
118
Trk::tubeInnerCover
,
119
Trk::tubeOuterCover
,
120
Trk::negativeFaceXY
},
121
true
};
122
123
//-------------------------------------------------------------
124
// the sectoral cylinder case
125
m_sectoralCylinderAccessors
[
Trk::StandardSectoralCylinder
] =
126
Trk::FiveObjectsAccessor
{
Trk::negativeFaceXY
,
127
Trk::positiveFaceXY
,
128
Trk::tubeOuterCover
,
129
Trk::tubeInnerCover
,
130
4 };
131
//-------------------------------------------------------------
132
// the sectoral tube case
133
m_sectoralTubeAccessors
[
Trk::StandardSectoralTube
] =
134
Trk::SixObjectsAccessor
{
Trk::negativeFaceXY
,
135
Trk::positiveFaceXY
,
136
Trk::tubeOuterCover
,
137
Trk::tubeInnerCover
,
138
4,
139
5 };
140
//-------------------------------------------------------------
141
}
142
143
BoundarySurfaceFace.h
CylinderVolumeBoundaryAccessors.h
Trk::CylinderVolumeBoundaryAccessors::m_tubeAccessors
std::array< FourObjectsAccessor, 12 > m_tubeAccessors
Definition
CylinderVolumeBoundaryAccessors.h:86
Trk::CylinderVolumeBoundaryAccessors::m_cylinderAccessors
std::array< ThreeObjectsAccessor, 4 > m_cylinderAccessors
Definition
CylinderVolumeBoundaryAccessors.h:85
Trk::CylinderVolumeBoundaryAccessors::m_sectoralCylinderAccessors
std::array< FiveObjectsAccessor, 1 > m_sectoralCylinderAccessors
Definition
CylinderVolumeBoundaryAccessors.h:87
Trk::CylinderVolumeBoundaryAccessors::m_sectoralTubeAccessors
std::array< SixObjectsAccessor, 1 > m_sectoralTubeAccessors
Definition
CylinderVolumeBoundaryAccessors.h:88
Trk::CylinderVolumeBoundaryAccessors::CylinderVolumeBoundaryAccessors
CylinderVolumeBoundaryAccessors()
Default Constructor.
Definition
CylinderVolumeBoundaryAccessors.cxx:14
Trk::StandardSectoralTube
@ StandardSectoralTube
Definition
CylinderVolumeBoundaryAccessors.h:51
Trk::FiveObjectsAccessor
std::array< ObjectAccessor::value_type, 5 > FiveObjectsAccessor
Definition
ObjectsAccessor.h:16
Trk::FourObjectsAccessor
std::pair< std::array< ObjectAccessor::value_type, 4 >, bool > FourObjectsAccessor
Definition
ObjectsAccessor.h:14
Trk::ThreeObjectsAccessor
std::array< ObjectAccessor::value_type, 3 > ThreeObjectsAccessor
Definition
ObjectsAccessor.h:13
Trk::CylinderNegativeFace
@ CylinderNegativeFace
Neg.
Definition
CylinderVolumeBoundaryAccessors.h:21
Trk::CylinderZincrease
@ CylinderZincrease
Cylinder hit, then pos.
Definition
CylinderVolumeBoundaryAccessors.h:18
Trk::CylinderPositiveFace
@ CylinderPositiveFace
Pos.
Definition
CylinderVolumeBoundaryAccessors.h:20
Trk::CylinderZdecrease
@ CylinderZdecrease
Cylinder hit, the neg.
Definition
CylinderVolumeBoundaryAccessors.h:19
Trk::tubeInnerCover
@ tubeInnerCover
Definition
BoundarySurfaceFace.h:39
Trk::tubeOuterCover
@ tubeOuterCover
Definition
BoundarySurfaceFace.h:40
Trk::negativeFaceXY
@ negativeFaceXY
Definition
BoundarySurfaceFace.h:32
Trk::positiveFaceXY
@ positiveFaceXY
Definition
BoundarySurfaceFace.h:33
Trk::cylinderCover
@ cylinderCover
Definition
BoundarySurfaceFace.h:38
Trk::TubeOutsideZminZdecrease
@ TubeOutsideZminZdecrease
Accessor type [ 0,3,2,1 ] - inverse case.
Definition
CylinderVolumeBoundaryAccessors.h:38
Trk::TubeRdecreaseZdecrease
@ TubeRdecreaseZdecrease
Accessor type [ 3,0,1,2 ].
Definition
CylinderVolumeBoundaryAccessors.h:33
Trk::TubeOutsideZmaxZincrease
@ TubeOutsideZmaxZincrease
Accessor type [ 1,3,2,0 ] - inverse case.
Definition
CylinderVolumeBoundaryAccessors.h:39
Trk::TubeZincreaseRincrease
@ TubeZincreaseRincrease
Accessor type [ 1,2,0,3 ].
Definition
CylinderVolumeBoundaryAccessors.h:30
Trk::TubeRincreaseZdecrease
@ TubeRincreaseZdecrease
Accessor type [ 2,0,1,3 ].
Definition
CylinderVolumeBoundaryAccessors.h:29
Trk::TubeOutsideRminRdecrease
@ TubeOutsideRminRdecrease
Accessor type [ 3,1,0,2] - inverse case.
Definition
CylinderVolumeBoundaryAccessors.h:36
Trk::TubeZdecreaseRdecrease
@ TubeZdecreaseRdecrease
Accessor type [ 0,3,1,2 ].
Definition
CylinderVolumeBoundaryAccessors.h:35
Trk::TubeRincreaseZincrease
@ TubeRincreaseZincrease
Accessor type [ 2,1,0,3 ].
Definition
CylinderVolumeBoundaryAccessors.h:28
Trk::TubeZincreaseRdecrease
@ TubeZincreaseRdecrease
Accessor type [ 1,3,0,2 ].
Definition
CylinderVolumeBoundaryAccessors.h:34
Trk::TubeRdecreaseZincrease
@ TubeRdecreaseZincrease
Accessor type [ 3,1,0,2 ].
Definition
CylinderVolumeBoundaryAccessors.h:32
Trk::TubeOutsideRmaxRincrease
@ TubeOutsideRmaxRincrease
Accessor type [ 2,1,0,3 ] - inverse case.
Definition
CylinderVolumeBoundaryAccessors.h:37
Trk::TubeZdecreaseRincrease
@ TubeZdecreaseRincrease
Accessor type [ 0,2,1,3 ].
Definition
CylinderVolumeBoundaryAccessors.h:31
Trk::SixObjectsAccessor
std::array< ObjectAccessor::value_type, 6 > SixObjectsAccessor
Definition
ObjectsAccessor.h:17
Trk::StandardSectoralCylinder
@ StandardSectoralCylinder
Definition
CylinderVolumeBoundaryAccessors.h:46
Generated on
for ATLAS Offline Software by
1.17.0