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  int pixelROCRows, // Num of Rows per ROC
14  int pixelROCCols, // Num of Cols per ROC
15  int pixelROCsInX,
16  int pixelROCsInY,
17  int GAPxInterpad,
18  int GAPxBorder,
19  int GAPyInterpad,
20  int GAPyBorder) {
21  float width = bs->width(); // module width = Xsize
22  float length = bs->length(); // module length = Ysize
23 
24  // Number of pixel rows (x) and columns (y) per module
25  int nrows = pixelROCRows * pixelROCsInX;
26  int ncols = pixelROCCols * pixelROCsInY;
27 
28  float pitchX = width / nrows;
29  float pitchY = length / ncols;
30 
31  float micronsTocm = 1e-4;
32  float gapxinterpad = float(GAPxInterpad) * micronsTocm; //Convert to cm
33  float gapyinterpad = float(GAPyInterpad) * micronsTocm; //Convert to cm
34  float gapxborder = float(GAPxBorder) * micronsTocm; //Convert to cm
35  float gapyborder = float(GAPyBorder) * micronsTocm; //Convert to cm
36 
37 #ifdef EDM_ML_DEBUG
38  edm::LogInfo("MTDTopologyBuilder") << std::fixed << "Building topology for module of width(X) = " << std::setw(10)
39  << width << " length(Y) = " << std::setw(10) << length
40  << "\n Rows per ROC = " << std::setw(10) << pixelROCRows
41  << " Cols per ROC = " << std::setw(10) << pixelROCCols
42  << "\n ROCs in X = " << std::setw(10) << pixelROCsInX
43  << " ROCs in Y = " << std::setw(10) << pixelROCsInY
44  << "\n # pixel rows X = " << std::setw(10) << nrows
45  << " # pixel cols Y = " << std::setw(10) << ncols
46  << "\n pitch in X = " << std::setw(10) << pitchX
47  << " # pitch in Y = " << std::setw(10) << pitchY
48  << "\n Interpad gap in X = " << std::setw(10) << gapxinterpad
49  << " # Interpad gap in Y = " << std::setw(10) << gapyinterpad
50  << "\n Border gap in X = " << std::setw(10) << gapxborder
51  << " # Border gap in Y = " << std::setw(10) << gapyborder;
52 #endif
53 
54  return (new RectangularMTDTopology(nrows,
55  ncols,
56  pitchX,
57  pitchY,
58  pixelROCRows, // (int)rocRow
59  pixelROCCols, // (int)rocCol
60  pixelROCsInX,
61  pixelROCsInY,
62  gapxinterpad,
63  gapxborder,
64  gapyinterpad,
65  gapyborder));
66 }
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
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
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
RectangularMTDTopology.h
Bounds.h
PixelTopology
Definition: PixelTopology.h:10
MTDTopologyBuilder::build
PixelTopology * build(const Bounds *bounds, int ROWS_PER_ROC, int COLS_PER_ROC, int ROCS_X, int ROCS_Y, int GAPxInterpad, int GAPxBorder, int GAPyInterpad, int GAPyBorder)
Definition: MTDTopologyBuilder.cc:12
RectangularMTDTopology
Definition: RectangularMTDTopology.h:39
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
MTDTopologyBuilder::MTDTopologyBuilder
MTDTopologyBuilder()
Definition: MTDTopologyBuilder.cc:10