ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
InDetGeoModelUtils
src
WaferTree.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
InDetGeoModelUtils/WaferTree.h
"
6
7
using namespace
std
;
8
9
bool
Side::add
(
int
side,
Wafer
&wafer) {
10
11
if
(
count
(side) == 0) {
12
insert(pair<int, Wafer>(side, wafer));
13
return
true
;
14
}
15
else
{
16
errmsg
<<
"WaferTree ERROR: request to add a second copy of a wafer ignored. Identifier = "
<<
17
wafer.
hashId
() <<
"; side = "
<< side;
18
return
false
;
19
}
20
}
21
22
bool
PhiModule::add
(
int
phi
,
int
side,
Wafer
&wafer) {
23
if
(
count
(
phi
) == 0) {
24
insert(pair<int, Side>(
phi
,
Side
()));
25
}
26
if
(!(*
this
)[
phi
].
add
(side, wafer)) {
27
errmsg
<<
"; phi = "
<<
phi
;
28
return
false
;
29
}
30
return
true
;
31
}
32
33
bool
EtaModule::add
(
int
eta
,
int
phi
,
int
side,
Wafer
&wafer) {
34
if
(
count
(
eta
) == 0) {
35
insert(pair<int, PhiModule>(
eta
,
PhiModule
()));
36
}
37
if
(!(*
this
)[
eta
].
add
(
phi
, side, wafer)) {
38
errmsg
<<
"; eta = "
<<
eta
;
39
return
false
;
40
}
41
return
true
;
42
}
43
44
bool
LayerDisk::add
(
int
ld,
int
eta
,
int
phi
,
int
side,
Wafer
&wafer) {
45
if
(
count
(ld) == 0) {
46
insert(pair<int, EtaModule>(ld,
EtaModule
()));
47
}
48
if
(!(*
this
)[ld].
add
(
eta
,
phi
, side, wafer)) {
49
errmsg
<<
"; ld = "
<< ld;
50
return
false
;
51
}
52
return
true
;
53
}
54
55
bool
BarrelEndcap::add
(
int
bec,
int
ld,
int
eta
,
int
phi
,
int
side,
Wafer
&wafer,
string
&errorMessage) {
56
errorMessage =
""
;
57
errmsg
.str(
""
);
58
errmsg
.str().clear();
59
if
(
count
(bec) == 0) {
60
insert(pair<int, LayerDisk>(bec,
LayerDisk
()));
61
}
62
if
(!(*
this
)[bec].
add
(ld,
eta
,
phi
, side, wafer)) {
63
errmsg
<<
"; bec = "
<< bec;
64
errorMessage =
errmsg
.str();
65
return
false
;
66
}
67
return
true
;
68
}
69
70
//version without side index for pixels
71
bool
BarrelEndcap::add
(
int
bec,
int
ld,
int
eta
,
int
phi
,
Wafer
&wafer,
string
&errorMessage) {
72
return
add
(bec,ld,
eta
,
phi
,0,wafer,errorMessage);
73
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
WaferTree.h
errmsg
static std::ostringstream errmsg
Definition
WaferTree.h:25
BarrelEndcap::add
bool add(int bec, int ld, int eta, int phi, int side, Wafer &wafer, std::string &errorMessage)
Definition
WaferTree.cxx:55
EtaModule
Definition
WaferTree.h:50
EtaModule::add
bool add(int eta, int phi, int side, Wafer &wafer)
Definition
WaferTree.cxx:33
LayerDisk
Definition
WaferTree.h:57
LayerDisk::add
bool add(int ld, int eta, int phi, int side, Wafer &wafer)
Definition
WaferTree.cxx:44
PhiModule
Definition
WaferTree.h:43
PhiModule::add
bool add(int phi, int side, Wafer &wafer)
Definition
WaferTree.cxx:22
Side
Definition
WaferTree.h:36
Side::add
bool add(int side, Wafer &wafer)
Definition
WaferTree.cxx:9
Wafer
Definition
WaferTree.h:27
Wafer::hashId
unsigned int hashId()
Definition
WaferTree.h:30
count
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
Definition
hcg.cxx:148
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0