CMS 3D CMS Logo

CTPPSPixelSimTopology.cc
Go to the documentation of this file.
2 
4 {
7 }
8 
10 CTPPSPixelSimTopology::getPixelsInvolved( double x, double y, double sigma, double& hit_pos_x, double& hit_pos_y ) const
11 {
12  //hit position wrt the bottom left corner of the sensor (-8.3, -12.2) in sensor view, rocs behind
13  hit_pos_x = x + simX_width_/2.;
14  hit_pos_y = y + simY_width_/2.;
15  if( !( hit_pos_x*hit_pos_y > 0 ) )
16  throw cms::Exception("CTPPSPixelSimTopology") << "out of reference frame";
17 
18  double hit_factor = activeEdgeFactor( x, y );
19 
20  unsigned int interested_row = row( x );
21  unsigned int interested_col = col( y );
22  double low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y;
23  pixelRange( interested_row, interested_col, low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y );
24 
25  return CTPPSPixelSimTopology::PixelInfo( low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y, hit_factor, interested_row, interested_col );
26 }
static double phys_active_edge_dist_
static double simX_width_
unsigned int col(double y) const
void pixelRange(unsigned int arow, unsigned int acol, double &lower_x, double &higher_x, double &lower_y, double &higher_y) const
static double simY_width_
PixelInfo getPixelsInvolved(double x, double y, double sigma, double &hit_pos_x, double &hit_pos_y) const
unsigned int row(double x) const
double activeEdgeFactor(double x, double y) const