#include <PixelTopologyBuilder.h>
Public Member Functions | |
PixelTopology * | 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) |
PixelTopologyBuilder () |
Called by GeomTopologyBuilder, chooses the right topology for Pixels.
Definition at line 12 of file PixelTopologyBuilder.h.
PixelTopologyBuilder::PixelTopologyBuilder | ( | void | ) |
Definition at line 6 of file PixelTopologyBuilder.cc.
{}
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(), tablePrinter::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 }