CMS 3D CMS Logo

List of all members | Public Member Functions
MTDTopologyBuilder Class Reference

#include <MTDTopologyBuilder.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)
 
 MTDTopologyBuilder ()
 

Detailed Description

Called by GeomTopologyBuilder, chooses the right topology for Pixels.

Definition at line 12 of file MTDTopologyBuilder.h.

Constructor & Destructor Documentation

MTDTopologyBuilder::MTDTopologyBuilder ( void  )

Definition at line 6 of file MTDTopologyBuilder.cc.

7 {}

Member Function Documentation

PixelTopology * MTDTopologyBuilder::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 10 of file MTDTopologyBuilder.cc.

References Bounds::length(), trackingPlots::ncols, ApeEstimator_cff::width, and Bounds::width().

Referenced by MTDGeomBuilderFromGeometricTimingDet::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 RectangularMTDTopology( nrows, ncols, pitchX, pitchY,
32  upgradeGeometry,
33  pixelROCRows, // (int)rocRow
34  pixelROCCols, // (int)rocCol
35  BIG_PIX_PER_ROC_X,
36  BIG_PIX_PER_ROC_Y,
37  pixelROCsInX, pixelROCsInY )); // (int)rocInX, (int)rocInY
38 }