CMS 3D CMS Logo

MTDTopologyBuilder.cc
Go to the documentation of this file.
1 //#define EDM_ML_DEBUG
2 
3 // Make the change for "big" pixels. 3/06 d.k.
7 
9 
11 
13  bool upgradeGeometry,
14  int pixelROCRows, // Num of Rows per ROC
15  int pixelROCCols, // Num of Cols per ROC
16  int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC
17  int BIG_PIX_PER_ROC_Y, // in y direction, cols. BIG_PIX_PER_ROC_Y = 0 for SLHC
18  int pixelROCsInX,
19  int pixelROCsInY) {
20  float width = bs->width(); // module width = Xsize
21  float length = bs->length(); // module length = Ysize
22 
23  // Number of pixel rows (x) and columns (y) per module
24  int nrows = pixelROCRows * pixelROCsInX;
25  int ncols = pixelROCCols * pixelROCsInY;
26 
27  // Take into account the large edge pixles
28  // 1 big pixel per ROC
29  float pitchX = width / (nrows + pixelROCsInX * BIG_PIX_PER_ROC_X);
30  // 2 big pixels per ROC
31  float pitchY = length / (ncols + pixelROCsInY * BIG_PIX_PER_ROC_Y);
32 
33 #ifdef EDM_ML_DEBUG
34  edm::LogInfo("MTDTopologyBuilder") << std::fixed << "Building topology for module of width(X) = " << std::setw(10)
35  << width << " length(Y) = " << std::setw(10) << length
36  << "\n Rows per ROC = " << std::setw(10) << pixelROCRows
37  << " Cols per ROC = " << std::setw(10) << pixelROCCols
38  << "\n ROCs in X = " << std::setw(10) << pixelROCsInX
39  << " ROCs in Y = " << std::setw(10) << pixelROCsInY
40  << "\n # pixel rows X = " << std::setw(10) << nrows
41  << " # pixel cols Y = " << std::setw(10) << ncols
42  << "\n pitch in X = " << std::setw(10) << pitchX
43  << " # pitch in Y = " << std::setw(10) << pitchY;
44 #endif
45 
46  return (new RectangularMTDTopology(nrows,
47  ncols,
48  pitchX,
49  pitchY,
50  upgradeGeometry,
51  pixelROCRows, // (int)rocRow
52  pixelROCCols, // (int)rocCol
53  BIG_PIX_PER_ROC_X,
54  BIG_PIX_PER_ROC_Y,
55  pixelROCsInX,
56  pixelROCsInY)); // (int)rocInX, (int)rocInY
57 }
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
hgcalPlots.ncols
ncols
Definition: hgcalPlots.py:105
alignBH_cfg.fixed
fixed
Definition: alignBH_cfg.py:54
MessageLogger.h
Bounds
Definition: Bounds.h:18
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
MTDTopologyBuilder.h
cms::cuda::bs
bs
Definition: HistoContainer.h:127
MTDTopologyBuilder::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: MTDTopologyBuilder.cc:12
RectangularMTDTopology.h
Bounds.h
PixelTopology
Definition: PixelTopology.h:10
RectangularMTDTopology
Definition: RectangularMTDTopology.h:39
MTDTopologyBuilder::MTDTopologyBuilder
MTDTopologyBuilder()
Definition: MTDTopologyBuilder.cc:10