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
(){}
9
10
PixelTopology
*
PixelTopologyBuilder::build
(
const
Bounds
* bs,
double
rocRow,
double
rocCol,
double
rocInX,
double
rocInY,std::string
part
)
11
{
12
thePixelROCRows
= rocRow;
// number of pixel rows per ROC
13
thePixelROCsInX
= rocInX;
// number of ROCs per module in x
14
thePixelROCCols
= rocCol;
// number of pixel cols in ROC
15
thePixelROCsInY
= rocInY;
// number of ROCs per module in y
16
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 = int(
thePixelROCRows
*
thePixelROCsInX
);
22
int
ncols = int(
thePixelROCCols
*
thePixelROCsInY
);
23
24
// For all pixels having same size (old topology)
25
//float pitchX = width/float(nrows);
26
//float pitchY = length/float(ncols);
27
28
// temporary before we find a better way to do this
29
const
int
BIG_PIX_PER_ROC_X
= 1;
// 1 big pixel in x direction, rows
30
const
int
BIG_PIX_PER_ROC_Y
= 2;
// 2 big pixels in y direction, cols
31
32
// Take into account the large edge pixles
33
// 1 big pixel per ROC
34
float
pitchX = width /(float(nrows)+thePixelROCsInX*
BIG_PIX_PER_ROC_X
);
35
// 2 big pixels per ROC
36
float
pitchY = length/(float(ncols)+thePixelROCsInY*
BIG_PIX_PER_ROC_Y
);
37
38
//std::cout<<"Build Pixel Topology: row/cols = "<<nrows<<"/"<<ncols
39
// <<" sizeX/Y = "<<width<<"/"<<length
40
// <<" pitchX/Y = "<<pitchX<<"/"<<pitchY
41
// <<" ROCsX/Y = "<<thePixelROCsInX<<"/"<<thePixelROCsInY
42
// <<" per ROC row/cols = "<<thePixelROCRows<<"/"<<thePixelROCCols
43
// <<" big pixels "<<BIG_PIX_PER_ROC_X<<"/"<<BIG_PIX_PER_ROC_Y
44
// <<std::endl;
45
46
return
new
RectangularPixelTopology
(nrows,ncols,pitchX,pitchY);
47
48
}
49
50
PixelTopologyBuilder.h
PixelTopologyBuilder::PixelTopologyBuilder
PixelTopologyBuilder()
Definition:
PixelTopologyBuilder.cc:8
Bounds::length
virtual float length() const =0
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:10
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
part
part
Definition:
HCALResponse.h:21
PixelTopologyBuilder::thePixelROCsInY
double thePixelROCsInY
Definition:
PixelTopologyBuilder.h:24
RectangularPixelTopology
Definition:
RectangularPixelTopology.h:46
PixelTopology
Definition:
PixelTopology.h:10
RectangularPixelTopology.h
Bounds
Definition:
Bounds.h:18
Bounds::width
virtual float width() const =0
Generated for CMSSW Reference Manual by
1.8.5