CMS 3D CMS Logo

PixelTopologyBuilder Class Reference

Called by GeomTopologyBuilder, chooses the right topology for Pixels. More...

#include <Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h>

List of all members.

Public Member Functions

PixelTopologybuild (const Bounds *, double, double, double, double, std::string)
 PixelTopologyBuilder ()

Private Attributes

double thePixelROCCols
double thePixelROCRows
double thePixelROCsInX
double thePixelROCsInY


Detailed Description

Called by GeomTopologyBuilder, chooses the right topology for Pixels.

Definition at line 12 of file PixelTopologyBuilder.h.


Constructor & Destructor Documentation

PixelTopologyBuilder::PixelTopologyBuilder (  ) 

Definition at line 8 of file PixelTopologyBuilder.cc.

00008 {}


Member Function Documentation

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 }


Member Data Documentation

double PixelTopologyBuilder::thePixelROCCols [private]

Definition at line 22 of file PixelTopologyBuilder.h.

Referenced by build().

double PixelTopologyBuilder::thePixelROCRows [private]

Definition at line 21 of file PixelTopologyBuilder.h.

Referenced by build().

double PixelTopologyBuilder::thePixelROCsInX [private]

Definition at line 23 of file PixelTopologyBuilder.h.

Referenced by build().

double PixelTopologyBuilder::thePixelROCsInY [private]

Definition at line 24 of file PixelTopologyBuilder.h.

Referenced by build().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:30:06 2009 for CMSSW by  doxygen 1.5.4