#include <Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h>
Public Member Functions | |
PixelTopology * | build (const Bounds *, double, double, double, double, std::string) |
PixelTopologyBuilder () | |
Private Attributes | |
double | thePixelROCCols |
double | thePixelROCRows |
double | thePixelROCsInX |
double | thePixelROCsInY |
Definition at line 12 of file PixelTopologyBuilder.h.
PixelTopologyBuilder::PixelTopologyBuilder | ( | ) |
PixelTopology * PixelTopologyBuilder::build | ( | const Bounds * | bs, | |
double | rocRow, | |||
double | rocCol, | |||
double | rocInX, | |||
double | rocInY, | |||
std::string | part | |||
) |
Definition at line 10 of file PixelTopologyBuilder.cc.
References int, Bounds::length(), thePixelROCCols, thePixelROCRows, thePixelROCsInX, thePixelROCsInY, Bounds::width(), and width.
00011 { 00012 thePixelROCRows = rocRow; // number of pixel rows per ROC 00013 thePixelROCsInX = rocInX; // number of ROCs per module in x 00014 thePixelROCCols = rocCol; // number of pixel cols in ROC 00015 thePixelROCsInY = rocInY; // number of ROCs per module in y 00016 00017 float width = bs->width(); // module width = Xsize 00018 float length = bs->length(); // module length = Ysize 00019 00020 // Number of pixel rows (x) and columns (y) per module 00021 int nrows = int(thePixelROCRows * thePixelROCsInX); 00022 int ncols = int(thePixelROCCols * thePixelROCsInY); 00023 00024 // For all pixels having same size (old topology) 00025 //float pitchX = width/float(nrows); 00026 //float pitchY = length/float(ncols); 00027 00028 // temporary before we find a better way to do this 00029 const int BIG_PIX_PER_ROC_X = 1; // 1 big pixel in x direction, rows 00030 const int BIG_PIX_PER_ROC_Y = 2; // 2 big pixels in y direction, cols 00031 00032 // Take into account the large edge pixles 00033 // 1 big pixel per ROC 00034 float pitchX = width /(float(nrows)+thePixelROCsInX*BIG_PIX_PER_ROC_X); 00035 // 2 big pixels per ROC 00036 float pitchY = length/(float(ncols)+thePixelROCsInY*BIG_PIX_PER_ROC_Y); 00037 00038 //std::cout<<"Build Pixel Topology: row/cols = "<<nrows<<"/"<<ncols 00039 // <<" sizeX/Y = "<<width<<"/"<<length 00040 // <<" pitchX/Y = "<<pitchX<<"/"<<pitchY 00041 // <<" ROCsX/Y = "<<thePixelROCsInX<<"/"<<thePixelROCsInY 00042 // <<" per ROC row/cols = "<<thePixelROCRows<<"/"<<thePixelROCCols 00043 // <<" big pixels "<<BIG_PIX_PER_ROC_X<<"/"<<BIG_PIX_PER_ROC_Y 00044 // <<std::endl; 00045 00046 return new RectangularPixelTopology(nrows,ncols,pitchX,pitchY); 00047 00048 }
double PixelTopologyBuilder::thePixelROCCols [private] |
double PixelTopologyBuilder::thePixelROCRows [private] |
double PixelTopologyBuilder::thePixelROCsInX [private] |
double PixelTopologyBuilder::thePixelROCsInY [private] |