Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
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 <iostream>
3
4
#include "
Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h
"
5
#include "
Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h
"
6
#include "
DataFormats/GeometrySurface/interface/Bounds.h
"
7
8
PixelTopologyBuilder::PixelTopologyBuilder
(
void
)
9
: thePixelROCRows( 0 ),
10
thePixelROCCols( 0 ),
11
thePixelROCsInX( 0 ),
12
thePixelROCsInY( 0 )
13
{}
14
15
PixelTopology
*
16
PixelTopologyBuilder::build
(
const
Bounds
* bs,
double
rocRow,
double
rocCol,
double
rocInX,
double
rocInY, std::string
/* part */
)
17
{
18
thePixelROCRows
= rocRow;
// number of pixel rows per ROC
19
thePixelROCsInX
= rocInX;
// number of ROCs per module in x
20
thePixelROCCols
= rocCol;
// number of pixel cols in ROC
21
thePixelROCsInY
= rocInY;
// number of ROCs per module in y
22
23
float
width
= bs->
width
();
// module width = Xsize
24
float
length = bs->
length
();
// module length = Ysize
25
26
// Number of pixel rows (x) and columns (y) per module
27
int
nrows = int(
thePixelROCRows
*
thePixelROCsInX
);
28
int
ncols = int(
thePixelROCCols
*
thePixelROCsInY
);
29
30
// For all pixels having same size (old topology)
31
//float pitchX = width/float(nrows);
32
//float pitchY = length/float(ncols);
33
34
// temporary before we find a better way to do this
35
const
int
BIG_PIX_PER_ROC_X
= 1;
// 1 big pixel in x direction, rows
36
const
int
BIG_PIX_PER_ROC_Y
= 2;
// 2 big pixels in y direction, cols
37
38
// Take into account the large edge pixles
39
// 1 big pixel per ROC
40
float
pitchX = width /(float(nrows)+thePixelROCsInX*
BIG_PIX_PER_ROC_X
);
41
// 2 big pixels per ROC
42
float
pitchY = length/(float(ncols)+thePixelROCsInY*
BIG_PIX_PER_ROC_Y
);
43
44
//std::cout<<"Build Pixel Topology: row/cols = "<<nrows<<"/"<<ncols
45
// <<" sizeX/Y = "<<width<<"/"<<length
46
// <<" pitchX/Y = "<<pitchX<<"/"<<pitchY
47
// <<" ROCsX/Y = "<<thePixelROCsInX<<"/"<<thePixelROCsInY
48
// <<" per ROC row/cols = "<<thePixelROCRows<<"/"<<thePixelROCCols
49
// <<" big pixels "<<BIG_PIX_PER_ROC_X<<"/"<<BIG_PIX_PER_ROC_Y
50
// <<std::endl;
51
52
return
new
RectangularPixelTopology( nrows, ncols, pitchX, pitchY );
53
}
54
55
PixelTopologyBuilder.h
PixelTopologyBuilder::PixelTopologyBuilder
PixelTopologyBuilder()
Definition:
PixelTopologyBuilder.cc:8
Bounds::length
virtual float length() const =0
RectangularPixelTopology.h
fireworks::BIG_PIX_PER_ROC_Y
static const int BIG_PIX_PER_ROC_Y
Definition:
TrackUtils.cc:61
tablePrinter.width
int width
Definition:
tablePrinter.py:59
Bounds.h
PixelTopologyBuilder::build
PixelTopology * build(const Bounds *, double, double, double, double, std::string)
Definition:
PixelTopologyBuilder.cc:16
fireworks::BIG_PIX_PER_ROC_X
static const int BIG_PIX_PER_ROC_X
Definition:
TrackUtils.cc:64
PixelTopologyBuilder::thePixelROCCols
double thePixelROCCols
Definition:
PixelTopologyBuilder.h:22
PixelTopologyBuilder::thePixelROCRows
double thePixelROCRows
Definition:
PixelTopologyBuilder.h:21
PixelTopologyBuilder::thePixelROCsInX
double thePixelROCsInX
Definition:
PixelTopologyBuilder.h:23
PixelTopologyBuilder::thePixelROCsInY
double thePixelROCsInY
Definition:
PixelTopologyBuilder.h:24
PixelTopology
Definition:
PixelTopology.h:10
Bounds
Definition:
Bounds.h:18
Bounds::width
virtual float width() const =0
Generated for CMSSW Reference Manual by
1.8.5