|
|
Go to the documentation of this file.
11 no_of_pixels_simX_(0.),
12 no_of_pixels_simY_(0.),
17 active_edge_sigma_(0.),
18 phys_active_edge_dist_(0.),
32 if (xLocalCoordinate < -xModuleSize / 2. || xLocalCoordinate > xModuleSize / 2.)
37 if (is3x2 && (yLocalCoordinate < -yModuleSize / 2. || yLocalCoordinate > yModuleSize / 2.))
40 if (!is3x2 && (yLocalCoordinate < -yModuleSize / 2. || yLocalCoordinate > y2x2top))
47 double x,
double y,
double sigma,
double& hit_pos_x,
double& hit_pos_y)
const {
51 if (!(hit_pos_x * hit_pos_y > 0))
52 throw cms::Exception(
"PPSPixelTopology") <<
"pixel out of reference frame";
56 unsigned int interested_row =
row(
x);
57 unsigned int interested_col =
col(
y);
58 double low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y;
60 interested_row, interested_col, low_pixel_range_x, high_pixel_range_x, low_pixel_range_y, high_pixel_range_y);
72 unsigned int arow,
unsigned int acol,
double& lower_x,
double& higher_x,
double& lower_y,
double& higher_y)
const {
74 arow = (2 * ROCSizeInX - 1) - arow;
75 if (arow > (2 * ROCSizeInX - 1) || acol > (3 * ROCSizeInY - 1))
76 throw cms::Exception(
"PPSPixelTopology") <<
"pixel rows or columns exceeding limits";
82 }
else if (arow <= (ROCSizeInX - 2)) {
85 }
else if (arow == (ROCSizeInX - 1)) {
88 }
else if (arow == ROCSizeInX) {
91 }
else if (arow <= (2 * ROCSizeInX - 2)) {
94 }
else if (arow == (2 * ROCSizeInX - 1)) {
102 }
else if (acol <= (ROCSizeInY - 2)) {
105 }
else if (acol == (ROCSizeInY - 1)) {
108 }
else if (acol == ROCSizeInY) {
111 }
else if (acol <= (2 * ROCSizeInY - 2)) {
114 }
else if (acol == (2 * ROCSizeInY - 1)) {
117 }
else if (acol == (2 * ROCSizeInY)) {
120 }
else if (acol <= (3 * ROCSizeInY - 2)) {
123 }
else if (acol == (3 * ROCSizeInY - 1)) {
141 const double aEF = topEdgeFactor * bottomEdgeFactor * rightEdgeFactor * leftEdgeFactor;
144 throw cms::Exception(
"PPSPixelTopology") <<
" pixel active edge factor > 1";
160 throw cms::Exception(
"PPSPixelTopology") <<
" pixel out of reference frame";
169 arow = (ROCSizeInX - 1);
175 arow = (2 * ROCSizeInX - 1);
177 arow = (2 * ROCSizeInX - 1) - arow;
178 if (arow > (2 * ROCSizeInX - 1))
179 throw cms::Exception(
"PPSPixelTopology") <<
" pixel row number exceeding limit";
192 throw cms::Exception(
"PPSPixelTopology") <<
"pixel out of reference frame";
199 column = ROCSizeInY - 1;
205 column = 2 * ROCSizeInY - 1;
207 column = 2 * ROCSizeInY;
211 column = (3 * ROCSizeInY - 1);
260 s <<
"\n PPS Topology parameters : \n"
273 std::stringstream
ss;
unsigned short pixelIndex(PixelInfo pI) const
unsigned short getNoPixels() const
double getSimXWidth() const
double distanceFromLeftActiveEdge(double x, double y) const
unsigned short getNoPixelsSimY() const
unsigned short pixelColNo() const
double active_edge_sigma_
double getActiveEdgeY() const
void setNoPixelsSimX(unsigned short npx)
double getSimYWidth() const
void setPhysActiveEdgeDist(double pae)
void setNoPixels(unsigned short np)
unsigned short getNoPixelsSimX() const
double phys_active_edge_dist_
void setNoPixelsSimY(unsigned short npy)
void pixelRange(unsigned int arow, unsigned int acol, double &lower_x, double &higher_x, double &lower_y, double &higher_y) const
unsigned short no_of_pixels_simY_
void printInfo(std::stringstream &s)
void index2RowCol(unsigned int &arow, unsigned int &acol, unsigned int index) const
std::string getRunType() const
void setActiveEdgeSigma(double aes)
void rowCol2Index(unsigned int arow, unsigned int acol, unsigned int &index) const
void setSimXWidth(double sxw)
PixelInfo getPixelsInvolved(double x, double y, double sigma, double &hit_pos_x, double &hit_pos_y) const
double distanceFromTopActiveEdge(double x, double y) const
double getThickness() const
void setPitchSimY(double psy)
std::ostream & operator<<(std::ostream &os, PPSPixelTopology info)
unsigned short no_of_pixels_
void setThickness(double tss)
double getPitchSimY() const
double getPhysActiveEdgeDist() const
double distanceFromBottomActiveEdge(double x, double y) const
double getDeadEdgeWidth() const
unsigned short pixelRowNo() const
unsigned int col(double y) const
double getPitchSimX() const
void setActiveEdgeY(double aey)
void setDeadEdgeWidth(double dew)
double distanceFromRightActiveEdge(double x, double y) const
unsigned int row(double x) const
void setActiveEdgeX(double aex)
unsigned short no_of_pixels_simX_
double getActiveEdgeX() const
double getActiveEdgeSigma() const
bool isPixelHit(float xLocalCoordinate, float yLocalCoordinate, bool is3x2) const
void setSimYWidth(double syw)
void setPitchSimX(double psx)
double activeEdgeFactor(double x, double y) const
void setRunType(std::string rt)