CMS 3D CMS Logo

Public Member Functions

PixelTopologyBuilder Class Reference

#include <PixelTopologyBuilder.h>

List of all members.

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 ( void  )

Definition at line 6 of file PixelTopologyBuilder.cc.

{}

Member Function Documentation

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 10 of file PixelTopologyBuilder.cc.

References fireworks::BIG_PIX_PER_ROC_X, fireworks::BIG_PIX_PER_ROC_Y, Bounds::length(), create_public_lumi_plots::width, and Bounds::width().

Referenced by TrackerGeomBuilderFromGeometricDet::buildPixel().

{
  float width = bs->width();   // module width = Xsize
  float length = bs->length(); // module length = Ysize

  // Number of pixel rows (x) and columns (y) per module
  int nrows = pixelROCRows * pixelROCsInX;
  int ncols = pixelROCCols * pixelROCsInY;

  // Take into account the large edge pixles
  // 1 big pixel per ROC
  float pitchX = width /(nrows+pixelROCsInX*BIG_PIX_PER_ROC_X); 
  // 2 big pixels per ROC
  float pitchY = length/(ncols+pixelROCsInY*BIG_PIX_PER_ROC_Y);

  return ( new RectangularPixelTopology( nrows, ncols, pitchX, pitchY,
                                         upgradeGeometry,
                                         pixelROCRows, // (int)rocRow
                                         pixelROCCols, // (int)rocCol
                                         BIG_PIX_PER_ROC_X,
                                         BIG_PIX_PER_ROC_Y,
                                         pixelROCsInX, pixelROCsInY )); // (int)rocInX, (int)rocInY
}