CMS 3D CMS Logo

CTPPSPixelTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_VeryForwardGeometry_CTPPSPixelTopology_h
2 #define Geometry_VeryForwardGeometry_CTPPSPixelTopology_h
3 
5 
11 public:
12  CTPPSPixelTopology() = default;
13  ~CTPPSPixelTopology() = default;
14 
15  static constexpr double pitch_simY_ = 150E-3;
16  static constexpr double pitch_simX_ = 100E-3;
17  static constexpr double thickness_ = 0.23;
18  static constexpr unsigned short no_of_pixels_simX_ = 160;
19  static constexpr unsigned short no_of_pixels_simY_ = 156;
20  static constexpr unsigned short no_of_pixels_ = 160 * 156;
21  static constexpr double simX_width_ = 16.6;
22  static constexpr double simY_width_ = 24.4;
23  static constexpr double dead_edge_width_ = 200E-3;
24  static constexpr double active_edge_sigma_ = 0.02;
25  static constexpr double phys_active_edge_dist_ = 0.150;
26 
27  inline double detPitchSimX() const { return pitch_simX_; }
28  inline double detPitchSimY() const { return pitch_simY_; }
29  inline double detThickness() const { return thickness_; }
30  inline unsigned short detPixelSimXNo() const { return no_of_pixels_simX_; }
31  inline unsigned short detPixelSimYNo() const { return no_of_pixels_simY_; }
32  inline unsigned short detPixelNo() const { return no_of_pixels_; }
33  inline double detXWidth() const { return simX_width_; }
34  inline double detYWidth() const { return simY_width_; }
35  inline double detDeadEdgeWidth() const { return dead_edge_width_; }
36  inline double activeEdgeSigma() const { return active_edge_sigma_; }
37  inline double physActiveEdgeDist() const { return phys_active_edge_dist_; }
38 
39  static bool isPixelHit(float xLocalCoordinate, float yLocalCoordinate, bool is3x2 = true) {
40  // check hit fiducial boundaries
41  double xModuleSize = 2 * ((no_of_pixels_simX_ / 2. + 1) * pitch_simX_ + dead_edge_width_);
42  if (xLocalCoordinate < -xModuleSize / 2. || xLocalCoordinate > xModuleSize / 2.)
43  return false;
44 
45  double yModuleSize = (no_of_pixels_simY_ + 4.) * pitch_simY_ + 2. * dead_edge_width_;
46  double y2x2top = no_of_pixels_simY_ / 6. * pitch_simY_ + dead_edge_width_;
47  if (is3x2 && (yLocalCoordinate < -yModuleSize / 2. || yLocalCoordinate > yModuleSize / 2.))
48  return false;
49 
50  if (!is3x2 && (yLocalCoordinate < -yModuleSize / 2. || yLocalCoordinate > y2x2top))
51  return false;
52 
53  return true;
54  }
55 
57 };
58 
59 #endif
CTPPSPixelTopology::~CTPPSPixelTopology
~CTPPSPixelTopology()=default
CTPPSPixelTopology::activeEdgeSigma
double activeEdgeSigma() const
Definition: CTPPSPixelTopology.h:36
CTPPSPixelTopology::simX_width_
static constexpr double simX_width_
Definition: CTPPSPixelTopology.h:21
CTPPSPixelTopology::pitch_simY_
static constexpr double pitch_simY_
Definition: CTPPSPixelTopology.h:15
CTPPSPixelTopology::indices_
CTPPSPixelIndices indices_
Definition: CTPPSPixelTopology.h:56
CTPPSPixelTopology::detDeadEdgeWidth
double detDeadEdgeWidth() const
Definition: CTPPSPixelTopology.h:35
CTPPSPixelTopology::simY_width_
static constexpr double simY_width_
Definition: CTPPSPixelTopology.h:22
CTPPSPixelTopology::detYWidth
double detYWidth() const
Definition: CTPPSPixelTopology.h:34
CTPPSPixelTopology
Geometrical and topological information on RPix silicon detector. Uses coordinate a frame with origin...
Definition: CTPPSPixelTopology.h:10
CTPPSPixelTopology::isPixelHit
static bool isPixelHit(float xLocalCoordinate, float yLocalCoordinate, bool is3x2=true)
Definition: CTPPSPixelTopology.h:39
CTPPSPixelIndices
Definition: CTPPSPixelIndices.h:74
CTPPSPixelTopology::detThickness
double detThickness() const
Definition: CTPPSPixelTopology.h:29
CTPPSPixelIndices.h
CTPPSPixelTopology::pitch_simX_
static constexpr double pitch_simX_
Definition: CTPPSPixelTopology.h:16
CTPPSPixelTopology::no_of_pixels_simY_
static constexpr unsigned short no_of_pixels_simY_
Definition: CTPPSPixelTopology.h:19
CTPPSPixelTopology::detPixelSimXNo
unsigned short detPixelSimXNo() const
Definition: CTPPSPixelTopology.h:30
CTPPSPixelTopology::CTPPSPixelTopology
CTPPSPixelTopology()=default
CTPPSPixelTopology::detPixelSimYNo
unsigned short detPixelSimYNo() const
Definition: CTPPSPixelTopology.h:31
CTPPSPixelTopology::detXWidth
double detXWidth() const
Definition: CTPPSPixelTopology.h:33
CTPPSPixelTopology::thickness_
static constexpr double thickness_
Definition: CTPPSPixelTopology.h:17
CTPPSPixelTopology::active_edge_sigma_
static constexpr double active_edge_sigma_
Definition: CTPPSPixelTopology.h:24
CTPPSPixelTopology::detPixelNo
unsigned short detPixelNo() const
Definition: CTPPSPixelTopology.h:32
CTPPSPixelTopology::phys_active_edge_dist_
static constexpr double phys_active_edge_dist_
Definition: CTPPSPixelTopology.h:25
CTPPSPixelTopology::dead_edge_width_
static constexpr double dead_edge_width_
Definition: CTPPSPixelTopology.h:23
CTPPSPixelTopology::detPitchSimX
double detPitchSimX() const
Definition: CTPPSPixelTopology.h:27
CTPPSPixelTopology::no_of_pixels_simX_
static constexpr unsigned short no_of_pixels_simX_
Definition: CTPPSPixelTopology.h:18
CTPPSPixelTopology::detPitchSimY
double detPitchSimY() const
Definition: CTPPSPixelTopology.h:28
CTPPSPixelTopology::physActiveEdgeDist
double physActiveEdgeDist() const
Definition: CTPPSPixelTopology.h:37
CTPPSPixelTopology::no_of_pixels_
static constexpr unsigned short no_of_pixels_
Definition: CTPPSPixelTopology.h:20