CMS 3D CMS Logo

CTPPSPixelSimTopology.cc
Go to the documentation of this file.
2 
6 }
7 
9  double x, double y, double sigma, double& hit_pos_x, double& hit_pos_y) const {
10  //hit position wrt the bottom left corner of the sensor (-8.3, -12.2) in sensor view, rocs behind
11  hit_pos_x = x + simX_width_ / 2.;
12  hit_pos_y = y + simY_width_ / 2.;
13  if (!(hit_pos_x * hit_pos_y > 0))
14  throw cms::Exception("CTPPSPixelSimTopology") << "out of reference frame";
15 
16  double hit_factor = activeEdgeFactor(x, y);
17 
18  unsigned int interested_row = row(x);
19  unsigned int interested_col = col(y);
20  double low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y;
21  pixelRange(
22  interested_row, interested_col, low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y);
23 
24  return CTPPSPixelSimTopology::PixelInfo(low_pixel_range_x,
25  high_pixel_range_x,
26  low_pixel_range_y,
27  high_pixel_range_y,
28  hit_factor,
29  interested_row,
30  interested_col);
31 }
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