CMS 3D CMS Logo

PixelTopologyBuilder.cc
Go to the documentation of this file.
1 // Make the change for "big" pixels. 3/06 d.k.
5 
7 
9  const Bounds* bs,
10  int pixelROCRows, // Num of Rows per ROC
11  int pixelROCCols, // Num of Cols per ROC
12  int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC
13  int BIG_PIX_PER_ROC_Y, // in y direction, cols. BIG_PIX_PER_ROC_Y = 0 for SLHC
14  int pixelROCsInX,
15  int pixelROCsInY) {
16  float width = bs->width(); // module width = Xsize
17  float length = bs->length(); // module length = Ysize
18 
19  // Number of pixel rows (x) and columns (y) per module
20  int nrows = pixelROCRows * pixelROCsInX;
21  int ncols = pixelROCCols * pixelROCsInY;
22 
23  // Take into account the large edge pixles
24  // 1 big pixel per ROC
25  float pitchX = width / (nrows + pixelROCsInX * BIG_PIX_PER_ROC_X);
26  // 2 big pixels per ROC
27  float pitchY = length / (ncols + pixelROCsInY * BIG_PIX_PER_ROC_Y);
28 
29  return (new RectangularPixelTopology(nrows,
30  ncols,
31  pitchX,
32  pitchY,
33  pixelROCRows, // (int)rocRow
34  pixelROCCols, // (int)rocCol
35  BIG_PIX_PER_ROC_X,
36  BIG_PIX_PER_ROC_Y,
37  pixelROCsInX,
38  pixelROCsInY)); // (int)rocInX, (int)rocInY
39 }
PixelTopology * build(const Bounds *bounds, 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: Bounds.h:18