ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
SiDetElementsRoadTool_xk
SiDetElementsRoadTool_xk
SiDetElementsLayer_xk.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// Header file for class SiDetElementsLayer_xk
8
// (c) ATLAS Detector software
10
// Class for detector elements layer
12
// Version 1.0 3/10/2004 I.Gavrilenko
14
15
#ifndef SiDetElementsLayer_xk_H
16
#define SiDetElementsLayer_xk_H
17
18
#include <utility>
19
#include <vector>
20
#include <list>
21
#include "
SiDetElementsRoadTool_xk/SiDetElementLink_xk.h
"
22
#include "
SiSPSeededTrackFinderData/SiDetElementRoadMakerData_xk.h
"
23
24
namespace
InDet
{
25
26
27
class
SiDetElementsLayer_xk
28
{
30
// Public methods:
32
33
public
:
34
36
// Standard tool methods
38
39
SiDetElementsLayer_xk
();
40
SiDetElementsLayer_xk
(
double
,
double
,
double
,
double
,
double
);
41
42
SiDetElementsLayer_xk
(
const
SiDetElementsLayer_xk
&) =
default
;
43
SiDetElementsLayer_xk
(
SiDetElementsLayer_xk
&&) =
default
;
44
~SiDetElementsLayer_xk
() =
default
;
45
SiDetElementsLayer_xk
&
operator =
(
const
SiDetElementsLayer_xk
&) =
default
;
46
SiDetElementsLayer_xk
&
operator =
(
SiDetElementsLayer_xk
&&) =
default
;
47
49
// Main methods
51
52
const
float
&
r
()
const
{
return
m_r
;}
53
const
float
&
dr
()
const
{
return
m_dr
;}
54
const
float
&
z
()
const
{
return
m_z
;}
55
const
float
&
dz
()
const
{
return
m_dz
;}
56
const
float
&
dfe
()
const
{
return
m_dfe
;}
57
std::vector<SiDetElementLink_xk>&
elements
() {
return
m_elements
;}
58
const
std::vector<SiDetElementLink_xk>&
elements
()
const
{
return
m_elements
;}
59
60
void
set
(
double
,
double
,
double
,
double
,
double
);
61
void
add
(
const
SiDetElementLink_xk
&);
62
int
nElements
()
const
;
63
64
80
void
getBarrelDetElements
81
(
const
std::array<float,6> & startingPoint,
82
const
std::array<float,3> & searchDirection,
83
std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
84
std::vector<bool> &
used
)
const
;
85
86
void
getITkBarrelDetElements
87
(
const
std::array<float,6> & startingPoint,
88
const
std::array<float,3> & searchDirection,
89
std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
90
std::vector<bool> &
used
)
const
;
91
92
void
getEndcapDetElements
93
(
const
std::array<float,6> & startingPoint,
94
const
std::array<float,3> & searchDirection,
95
std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
96
std::vector<bool> &
used
)
const
;
97
98
void
getITkEndcapDetElements
99
(
const
std::array<float,6> & startingPoint,
100
const
std::array<float,3> & searchDirection,
101
std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
102
std::vector<bool> &
used
)
const
;
103
104
105
void
sortDetectorElements
();
106
107
protected
:
108
110
// Protected Data
112
113
float
m_z
;
// Z coordinate
114
float
m_dz
;
// Z half width
115
float
m_r
;
// Radius
116
float
m_dr
;
// Radius half width
117
float
m_dfe
;
// max azimuthal width of de
118
std::vector<SiDetElementLink_xk>
m_elements
;
// detector elements
119
125
void
getDetElements
(
const
std::array<float,6> & startingPoint,
126
const
std::array<float,3> & searchDirection,
127
float
phiCrossing,
128
float
reducedRoadWidth,
129
std::vector<InDet::SiDetElementLink_xk::ElementWay> &lDE,
130
std::vector<bool> &
used
)
const
;
131
};
132
134
// Inline methods
136
137
inline
SiDetElementsLayer_xk::SiDetElementsLayer_xk
()
138
{
139
m_z
= 0.;
140
m_dz
= 0.;
141
m_r
= 0.;
142
m_dr
= 0.;
143
m_dfe
= 0.;
144
}
145
146
inline
SiDetElementsLayer_xk::SiDetElementsLayer_xk
147
(
double
r
,
double
dr
,
double
z
,
double
dz
,
double
df)
148
{
149
m_r
= float(
r
);
150
m_dr
= float(
dr
);
151
m_z
= float(
z
);
152
m_dz
= float(
dz
);
153
m_dfe
= float(df);
154
}
155
156
inline
void
SiDetElementsLayer_xk::set
157
(
double
r
,
double
dr
,
double
z
,
double
dz
,
double
df)
158
{
159
m_r
= float(
r
);
160
m_dr
= float(
dr
);
161
m_z
= float(
z
);
162
m_dz
= float(
dz
);
163
m_dfe
= float(df);
164
}
165
166
inline
void
SiDetElementsLayer_xk::add
(
const
SiDetElementLink_xk
& link)
167
{
168
m_elements
.push_back(link);
169
}
170
171
inline
int
SiDetElementsLayer_xk::nElements
()
const
172
{
173
return
m_elements
.size();
174
}
175
176
177
}
// end of name space
178
179
#endif
// SiDetElementsLayer_xk_H
180
SiDetElementLink_xk.h
SiDetElementRoadMakerData_xk.h
InDet::SiDetElementLink_xk
Definition
SiDetElementLink_xk.h:24
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk(const SiDetElementsLayer_xk &)=default
InDet::SiDetElementsLayer_xk::r
const float & r() const
Definition
SiDetElementsLayer_xk.h:52
InDet::SiDetElementsLayer_xk::getITkBarrelDetElements
void getITkBarrelDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition
SiDetElementsLayer_xk.cxx:95
InDet::SiDetElementsLayer_xk::getDetElements
void getDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, float phiCrossing, float reducedRoadWidth, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
internal helper which resolves the phi-multiplicity of elements within a layer.
Definition
SiDetElementsLayer_xk.cxx:312
InDet::SiDetElementsLayer_xk::nElements
int nElements() const
Definition
SiDetElementsLayer_xk.h:171
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk()
Definition
SiDetElementsLayer_xk.h:137
InDet::SiDetElementsLayer_xk::m_elements
std::vector< SiDetElementLink_xk > m_elements
Definition
SiDetElementsLayer_xk.h:118
InDet::SiDetElementsLayer_xk::m_z
float m_z
Definition
SiDetElementsLayer_xk.h:113
InDet::SiDetElementsLayer_xk::m_dz
float m_dz
Definition
SiDetElementsLayer_xk.h:114
InDet::SiDetElementsLayer_xk::~SiDetElementsLayer_xk
~SiDetElementsLayer_xk()=default
InDet::SiDetElementsLayer_xk::getEndcapDetElements
void getEndcapDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition
SiDetElementsLayer_xk.cxx:207
InDet::SiDetElementsLayer_xk::sortDetectorElements
void sortDetectorElements()
Definition
SiDetElementsLayer_xk.cxx:402
InDet::SiDetElementsLayer_xk::add
void add(const SiDetElementLink_xk &)
Definition
SiDetElementsLayer_xk.h:166
InDet::SiDetElementsLayer_xk::z
const float & z() const
Definition
SiDetElementsLayer_xk.h:54
InDet::SiDetElementsLayer_xk::elements
const std::vector< SiDetElementLink_xk > & elements() const
Definition
SiDetElementsLayer_xk.h:58
InDet::SiDetElementsLayer_xk::getBarrelDetElements
void getBarrelDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Get barrel detector elements Input parameters: startPoint[0] - X searchDirection[0] - Ax startPoint[1...
Definition
SiDetElementsLayer_xk.cxx:32
InDet::SiDetElementsLayer_xk::set
void set(double, double, double, double, double)
Definition
SiDetElementsLayer_xk.h:157
InDet::SiDetElementsLayer_xk::m_r
float m_r
Definition
SiDetElementsLayer_xk.h:115
InDet::SiDetElementsLayer_xk::m_dr
float m_dr
Definition
SiDetElementsLayer_xk.h:116
InDet::SiDetElementsLayer_xk::dz
const float & dz() const
Definition
SiDetElementsLayer_xk.h:55
InDet::SiDetElementsLayer_xk::elements
std::vector< SiDetElementLink_xk > & elements()
Definition
SiDetElementsLayer_xk.h:57
InDet::SiDetElementsLayer_xk::m_dfe
float m_dfe
Definition
SiDetElementsLayer_xk.h:117
InDet::SiDetElementsLayer_xk::operator=
SiDetElementsLayer_xk & operator=(const SiDetElementsLayer_xk &)=default
InDet::SiDetElementsLayer_xk::getITkEndcapDetElements
void getITkEndcapDetElements(const std::array< float, 6 > &startingPoint, const std::array< float, 3 > &searchDirection, std::vector< InDet::SiDetElementLink_xk::ElementWay > &lDE, std::vector< bool > &used) const
Definition
SiDetElementsLayer_xk.cxx:234
InDet::SiDetElementsLayer_xk::dr
const float & dr() const
Definition
SiDetElementsLayer_xk.h:53
InDet::SiDetElementsLayer_xk::dfe
const float & dfe() const
Definition
SiDetElementsLayer_xk.h:56
InDet::SiDetElementsLayer_xk::SiDetElementsLayer_xk
SiDetElementsLayer_xk(SiDetElementsLayer_xk &&)=default
used
holding In fact this class is here in order to allow STL container for all features This class is sho...
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
Generated on
for ATLAS Offline Software by
1.17.0