Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Properties
_
a
c
d
e
f
l
m
o
p
s
t
u
v
+
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
Geometry
TrackerGeometryBuilder
src
PixelTopologyBuilder.cc
Go to the documentation of this file.
1
// Make the change for "big" pixels. 3/06 d.k.
2
#include "
Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h
"
3
#include "
Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h
"
4
#include "
DataFormats/GeometrySurface/interface/Bounds.h
"
5
6
PixelTopologyBuilder::PixelTopologyBuilder
(
void
) {}
7
8
PixelTopology
*
PixelTopologyBuilder::build
(
9
const
Bounds
*
bs
,
10
bool
upgradeGeometry,
11
int
pixelROCRows,
// Num of Rows per ROC
12
int
pixelROCCols,
// Num of Cols per ROC
13
int
BIG_PIX_PER_ROC_X,
// in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC
14
int
BIG_PIX_PER_ROC_Y,
// in y direction, cols. BIG_PIX_PER_ROC_Y = 0 for SLHC
15
int
pixelROCsInX,
16
int
pixelROCsInY) {
17
float
width
=
bs
->width();
// module width = Xsize
18
float
length =
bs
->length();
// module length = Ysize
19
20
// Number of pixel rows (x) and columns (y) per module
21
int
nrows = pixelROCRows * pixelROCsInX;
22
int
ncols
= pixelROCCols * pixelROCsInY;
23
24
// Take into account the large edge pixles
25
// 1 big pixel per ROC
26
float
pitchX =
width
/ (nrows + pixelROCsInX * BIG_PIX_PER_ROC_X);
27
// 2 big pixels per ROC
28
float
pitchY = length / (
ncols
+ pixelROCsInY * BIG_PIX_PER_ROC_Y);
29
30
return
(
new
RectangularPixelTopology
(nrows,
31
ncols
,
32
pitchX,
33
pitchY,
34
upgradeGeometry,
35
pixelROCRows,
// (int)rocRow
36
pixelROCCols,
// (int)rocCol
37
BIG_PIX_PER_ROC_X,
38
BIG_PIX_PER_ROC_Y,
39
pixelROCsInX,
40
pixelROCsInY));
// (int)rocInX, (int)rocInY
41
}
PixelTopologyBuilder.h
PixelTopologyBuilder::PixelTopologyBuilder
PixelTopologyBuilder()
Definition:
PixelTopologyBuilder.cc:6
PixelTopologyBuilder::build
PixelTopology * build(const Bounds *bounds, bool upgradeGeometry, int ROWS_PER_ROC, int COLS_PER_ROC, int BIG_PIX_PER_ROC_X, int BIG_PIX_PER_ROC_Y, int ROCS_X, int ROCS_Y)
Definition:
PixelTopologyBuilder.cc:8
RectangularPixelTopology.h
Bounds.h
hgcalPlots.ncols
ncols
Definition:
hgcalPlots.py:123
ApeEstimator_cff.width
width
Definition:
ApeEstimator_cff.py:24
cms::cuda::bs
bs
Definition:
HistoContainer.h:76
RectangularPixelTopology
Definition:
RectangularPixelTopology.h:39
PixelTopology
Definition:
PixelTopology.h:10
Bounds
Definition:
Bounds.h:18
Generated for CMSSW Reference Manual by
1.8.14