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, 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,
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().

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 = pixelROCRows * pixelROCsInX;
22  int ncols = pixelROCCols * pixelROCsInY;
23 
24  // Take into account the large edge pixles
25  // 1 big pixel per ROC
26  float pitchX = width / (nrows + pixelROCsInX * BIG_PIX_PER_ROC_X);
27  // 2 big pixels per ROC
28  float pitchY = length / (ncols + pixelROCsInY * BIG_PIX_PER_ROC_Y);
29 
30  return (new RectangularPixelTopology(nrows,
31  ncols,
32  pitchX,
33  pitchY,
34  upgradeGeometry,
35  pixelROCRows, // (int)rocRow
36  pixelROCCols, // (int)rocCol
37  BIG_PIX_PER_ROC_X,
38  BIG_PIX_PER_ROC_Y,
39  pixelROCsInX,
40  pixelROCsInY)); // (int)rocInX, (int)rocInY
41 }