CMS 3D CMS Logo

List of all members | Public Member Functions
PixelTopologyBuilder Class Reference

#include <PixelTopologyBuilder.h>

Public Member Functions

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

15  {
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 }