ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileDetDescr
src
TileDetDescriptor.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
Tile Calorimeter detector description package
7
-----------------------------------------
8
***************************************************************************/
9
10
#include "
TileDetDescr/TileDetDescriptor.h
"
11
12
#include "
AtlasDetDescr/AtlasDetectorID.h
"
13
14
#include <iostream>
15
#include <iomanip>
16
#include <cstring>
17
18
using
std::memset;
19
20
TileDetDescriptor::TileDetDescriptor
()
21
:
22
m_phi_min
(0),
23
m_phi_max
(0),
24
m_dphi
(0),
25
m_zshift
(0),
26
m_n_samp
(0),
27
m_n_phi
(0),
28
m_sign_eta
(0)
29
{
30
AtlasDetectorID
atlas (
"AtlasDetectorID"
,
""
);
31
m_id
= atlas.
tile
();
32
memset(
m_eta_min
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
33
memset(
m_eta_max
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
34
memset(
m_deta
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
35
memset(
m_rcenter
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
36
memset(
m_dr
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
37
memset(
m_zcenter
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
38
memset(
m_dz
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
float
));
39
memset(
m_n_eta
, 0,
MAX_N_SAMP_TILEDD
*
sizeof
(
int
));
40
}
41
42
TileDetDescriptor::TileDetDescriptor
(
const
float
eta_min
[],
43
const
float
eta_max
[],
44
const
float
deta
[],
45
const
float
phi_min
,
46
const
float
phi_max
,
47
const
float
dphi
,
48
const
float
zshift
,
49
const
float
rcenter
[],
50
const
float
dr
[],
51
const
float
zcenter
[],
52
const
float
dz
[],
53
const
unsigned
int
n_samp
,
54
const
int
sign_eta
)
55
:
m_phi_min
(
phi_min
)
56
,
m_phi_max
(
phi_max
)
57
,
m_dphi
(
dphi
)
58
,
m_zshift
(
zshift
)
59
,
m_n_samp
(
n_samp
)
60
,
m_n_phi
((unsigned int) ((
phi_max
-
phi_min
)/
dphi
+ 0.5))
61
,
m_sign_eta
(
sign_eta
)
62
{
63
AtlasDetectorID
atlas (
"AtlasDetectorID"
,
""
);
64
m_id
= atlas.
tile
();
65
for
(
unsigned
int
i=0; i<
n_samp
; ++i) {
66
m_eta_min
[i] =
eta_min
[i];
67
m_eta_max
[i] =
eta_max
[i];
68
m_deta
[i] =
deta
[i];
69
m_rcenter
[i] =
rcenter
[i];
70
m_dr
[i] =
dr
[i];
71
m_zcenter
[i] =
zcenter
[i];
72
m_dz
[i] =
dz
[i];
73
m_n_eta
[i] = ((
unsigned
int) ((
eta_max
[i] -
eta_min
[i])/
deta
[i] + 0.5));
74
}
75
for
(
unsigned
int
i=
n_samp
; i<
MAX_N_SAMP_TILEDD
; ++i) {
76
m_eta_min
[i] = 0;
77
m_eta_max
[i] = 0;
78
m_deta
[i] = 0;
79
m_rcenter
[i] = 0;
80
m_dr
[i] = 0;
81
m_zcenter
[i] = 0;
82
m_dz
[i] = 0;
83
m_n_eta
[i] = 0;
84
}
85
}
86
87
void
88
TileDetDescriptor::set
(
const
float
eta_min
[],
89
const
float
eta_max
[],
90
const
float
deta
[],
91
const
float
phi_min
,
92
const
float
phi_max
,
93
const
float
dphi
,
94
const
float
zshift
,
95
const
float
rcenter
[],
96
const
float
dr
[],
97
const
float
zcenter
[],
98
const
float
dz
[],
99
const
unsigned
int
n_samp
,
100
const
unsigned
int
n_eta
[],
101
const
unsigned
int
n_phi
,
102
const
int
sign_eta
)
103
{
104
m_phi_min
=
phi_min
;
105
m_phi_max
=
phi_max
;
106
m_dphi
=
dphi
;
107
m_zshift
=
zshift
;
108
m_n_samp
=
n_samp
;
109
m_n_phi
=
n_phi
;
110
m_sign_eta
=
sign_eta
;
111
112
for
(
unsigned
int
i=0; i<
n_samp
; ++i) {
113
m_eta_min
[i] =
eta_min
[i];
114
m_eta_max
[i] =
eta_max
[i];
115
m_deta
[i] =
deta
[i];
116
m_rcenter
[i] =
rcenter
[i];
117
m_dr
[i] =
dr
[i];
118
m_zcenter
[i] =
zcenter
[i];
119
m_dz
[i] =
dz
[i];
120
m_n_eta
[i] =
n_eta
[i];
121
}
122
}
123
124
125
void
TileDetDescriptor::print
()
const
126
{
127
std::cout << std::endl <<
" TileDetDescriptor print: "
128
<< std::endl << std::endl;
129
130
std::cout <<
" phi min phi max dphi nphi zshift sign_eta nsamp"
131
<< std::endl;
132
std::cout << std::setiosflags(std::ios::fixed);
133
std::cout
134
<< std::setw(9) << std::setprecision(4) <<
m_phi_min
<<
" "
135
<< std::setw(9) << std::setprecision(4) <<
m_phi_max
<<
" "
136
<< std::setw(9) << std::setprecision(4) <<
m_dphi
<<
" "
137
<< std::setw(6) << std::setprecision(4) <<
m_n_phi
<<
" "
138
<< std::setw(8) << std::setprecision(2) <<
m_zshift
<<
" "
139
<< std::setw(7) << std::setprecision(4) <<
m_sign_eta
<<
" "
140
<< std::setw(7) << std::setprecision(4) <<
m_n_samp
<<
" "
141
<< std::endl;
142
143
std::cout <<
" eta min eta max deta neta radius dR Z dZ"
144
<< std::endl;
145
146
for
(
unsigned
int
i=0; i<
m_n_samp
; ++i) {
147
std::cout
148
<< std::setw(9) << std::setprecision(4) <<
m_eta_min
[i] <<
" "
149
<< std::setw(9) << std::setprecision(4) <<
m_eta_max
[i] <<
" "
150
<< std::setw(9) << std::setprecision(4) <<
m_deta
[i] <<
" "
151
<< std::setw(6) << std::setprecision(4) <<
m_n_eta
[i] <<
" "
152
<< std::setw(9) << std::setprecision(2) <<
m_rcenter
[i] <<
" "
153
<< std::setw(9) << std::setprecision(2) <<
m_dr
[i] <<
" "
154
<< std::setw(9) << std::setprecision(2) <<
m_zcenter
[i] <<
" "
155
<< std::setw(9) << std::setprecision(2) <<
m_dz
[i] <<
" "
156
<< std::endl;
157
}
158
159
std::cout << std::resetiosflags(std::ios::fixed);
160
}
161
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
TileDetDescriptor.h
MAX_N_SAMP_TILEDD
#define MAX_N_SAMP_TILEDD
Definition
TileDetDescriptor.h:17
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition
AtlasDetectorID.h:53
AtlasDetectorID::tile
Identifier tile(void) const
Definition
AtlasDetectorID.cxx:70
TileDetDescriptor::m_phi_min
float m_phi_min
Definition
TileDetDescriptor.h:121
TileDetDescriptor::zcenter
float zcenter(unsigned int samp) const
Definition
TileDetDescriptor.h:205
TileDetDescriptor::rcenter
float rcenter(unsigned int samp) const
Definition
TileDetDescriptor.h:191
TileDetDescriptor::eta_min
float eta_min(unsigned int samp) const
Definition
TileDetDescriptor.h:138
TileDetDescriptor::dphi
float dphi() const
Definition
TileDetDescriptor.h:176
TileDetDescriptor::m_n_eta
unsigned int m_n_eta[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:130
TileDetDescriptor::m_zshift
float m_zshift
Definition
TileDetDescriptor.h:124
TileDetDescriptor::m_eta_max
float m_eta_max[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:119
TileDetDescriptor::m_dr
float m_dr[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:126
TileDetDescriptor::m_n_phi
unsigned int m_n_phi
Definition
TileDetDescriptor.h:131
TileDetDescriptor::m_sign_eta
int m_sign_eta
Definition
TileDetDescriptor.h:132
TileDetDescriptor::n_samp
int n_samp() const
Definition
TileDetDescriptor.h:219
TileDetDescriptor::m_eta_min
float m_eta_min[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:118
TileDetDescriptor::m_dphi
float m_dphi
Definition
TileDetDescriptor.h:123
TileDetDescriptor::m_dz
float m_dz[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:128
TileDetDescriptor::sign_eta
int sign_eta() const
Definition
TileDetDescriptor.h:224
TileDetDescriptor::TileDetDescriptor
TileDetDescriptor()
Definition
TileDetDescriptor.cxx:20
TileDetDescriptor::deta
float deta(unsigned int samp) const
Definition
TileDetDescriptor.h:152
TileDetDescriptor::n_phi
int n_phi() const
Definition
TileDetDescriptor.h:181
TileDetDescriptor::zshift
float zshift() const
Definition
TileDetDescriptor.h:186
TileDetDescriptor::m_rcenter
float m_rcenter[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:125
TileDetDescriptor::eta_max
float eta_max(unsigned int samp) const
Definition
TileDetDescriptor.h:145
TileDetDescriptor::print
void print() const
Definition
TileDetDescriptor.cxx:125
TileDetDescriptor::m_phi_max
float m_phi_max
Definition
TileDetDescriptor.h:122
TileDetDescriptor::n_eta
int n_eta(unsigned int samp) const
Definition
TileDetDescriptor.h:159
TileDetDescriptor::dz
float dz(unsigned int samp) const
Definition
TileDetDescriptor.h:212
TileDetDescriptor::m_zcenter
float m_zcenter[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:127
TileDetDescriptor::m_n_samp
unsigned int m_n_samp
Definition
TileDetDescriptor.h:129
TileDetDescriptor::phi_min
float phi_min() const
Definition
TileDetDescriptor.h:166
TileDetDescriptor::m_id
Identifier m_id
Definition
TileDetDescriptor.h:117
TileDetDescriptor::set
void set(const Identifier &id)
Definition
TileDetDescriptor.h:244
TileDetDescriptor::dr
float dr(unsigned int samp) const
Definition
TileDetDescriptor.h:198
TileDetDescriptor::phi_max
float phi_max() const
Definition
TileDetDescriptor.h:171
TileDetDescriptor::m_deta
float m_deta[MAX_N_SAMP_TILEDD]
Definition
TileDetDescriptor.h:120
Generated on
for ATLAS Offline Software by
1.17.0