CMS 3D CMS Logo

List of all members | Public Member Functions
PixelTopologyBuilder Class Reference

#include <PixelTopologyBuilder.h>

Public Member Functions

PixelTopologybuild (const Bounds *bounds, bool upgradeGeometry, bool isBricked, 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)
 
 PixelTopologyBuilder ()
 

Detailed Description

Called by GeomTopologyBuilder, chooses the right topology for Pixels.

Definition at line 12 of file PixelTopologyBuilder.h.

Constructor & Destructor Documentation

◆ PixelTopologyBuilder()

PixelTopologyBuilder::PixelTopologyBuilder ( void  )

Definition at line 6 of file PixelTopologyBuilder.cc.

6 {}

Member Function Documentation

◆ build()

PixelTopology * PixelTopologyBuilder::build ( const Bounds bounds,
bool  upgradeGeometry,
bool  isBricked,
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 at line 8 of file PixelTopologyBuilder.cc.

References cms::cuda::bs, hgcalPlots::ncols, and ApeEstimator_cff::width.

Referenced by TrackerGeomBuilderFromGeometricDet::buildPixel().

17  {
18  float width = bs->width(); // module width = Xsize
19  float length = bs->length(); // module length = Ysize
20 
21  // Number of pixel rows (x) and columns (y) per module
22  int nrows = pixelROCRows * pixelROCsInX;
23  int ncols = pixelROCCols * pixelROCsInY;
24 
25  // Take into account the large edge pixles
26  // 1 big pixel per ROC
27  float pitchX = width / (nrows + pixelROCsInX * BIG_PIX_PER_ROC_X);
28  // 2 big pixels per ROC
29  float pitchY = length / (ncols + pixelROCsInY * BIG_PIX_PER_ROC_Y);
30 
31  return (new RectangularPixelTopology(nrows,
32  ncols,
33  pitchX,
34  pitchY,
35  upgradeGeometry,
36  isBricked,
37  pixelROCRows, // (int)rocRow
38  pixelROCCols, // (int)rocCol
39  BIG_PIX_PER_ROC_X,
40  BIG_PIX_PER_ROC_Y,
41  pixelROCsInX,
42  pixelROCsInY)); // (int)rocInX, (int)rocInY
43 }