CMS 3D CMS Logo

RPTopology.h
Go to the documentation of this file.
1 /****************************************************************************
2 *
3 * This is a part of TotemDQM and TOTEM offline software.
4 * Authors:
5 * Hubert Niewiadomski
6 * Jan Kašpar (jan.kaspar@gmail.com)
7 *
8 ****************************************************************************/
9 
10 #ifndef Geometry_VeryForwardRPTopology_RPTopology
11 #define Geometry_VeryForwardRPTopology_RPTopology
12 
13 #include "Math/Vector3D.h"
14 
19 class RPTopology {
20 public:
21  using Vector = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
22 
23  RPTopology();
24  inline const Vector& GetStripReadoutAxisDir() const { return strip_readout_direction_; }
25  inline const Vector& GetStripDirection() const { return strip_direction_; }
26  inline const Vector& GetNormalDirection() const { return normal_direction_; }
27 
31  inline double GetHitPositionInReadoutDirection(double strip_no) const
32  // { return y_width_/2. - last_strip_to_border_dist_ - strip_no * pitch_; }
33  {
34  return last_strip_to_border_dist_ + (no_of_strips_ - 1) * pitch_ - y_width_ / 2. - strip_no * pitch_;
35  }
36 
37  inline double DetXWidth() const { return x_width_; }
38  inline double DetYWidth() const { return y_width_; }
39  inline double DetEdgeLength() const { return phys_edge_lenght_; }
40  inline double DetThickness() const { return thickness_; }
41  inline double DetPitch() const { return pitch_; }
42  inline unsigned short DetStripNo() const { return no_of_strips_; }
43 
46  static bool IsHit(double u, double v, double insensitiveMargin = 0);
47 
48 public:
49  static const double sqrt_2;
50 
51  static const double pitch_;
52  static const double thickness_;
53  static const unsigned short no_of_strips_;
54  static const double x_width_;
55  static const double y_width_;
56  static const double phys_edge_lenght_;
57  static const double last_strip_to_border_dist_;
58  static const double last_strip_to_center_dist_;
59 
63 };
64 
65 #endif //Geometry_VeryForwardRPTopology_RPTopology
RPTopology::DetEdgeLength
double DetEdgeLength() const
Definition: RPTopology.h:44
RPTopology::y_width_
static const double y_width_
Definition: RPTopology.h:60
RPTopology::DetThickness
double DetThickness() const
Definition: RPTopology.h:45
RPTopology::strip_direction_
Vector strip_direction_
Definition: RPTopology.h:66
RPTopology::GetNormalDirection
const Vector & GetNormalDirection() const
Definition: RPTopology.h:31
RPTopology::GetHitPositionInReadoutDirection
double GetHitPositionInReadoutDirection(double strip_no) const
Definition: RPTopology.h:36
findQualityFiles.v
v
Definition: findQualityFiles.py:179
RPTopology::RPTopology
RPTopology()
Definition: RPTopology.cc:26
RPTopology::strip_readout_direction_
Vector strip_readout_direction_
Definition: RPTopology.h:65
Vector
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
RPTopology::last_strip_to_border_dist_
static const double last_strip_to_border_dist_
Definition: RPTopology.h:62
RPTopology::last_strip_to_center_dist_
static const double last_strip_to_center_dist_
Definition: RPTopology.h:63
RPTopology::GetStripReadoutAxisDir
const Vector & GetStripReadoutAxisDir() const
Definition: RPTopology.h:29
RPTopology::DetYWidth
double DetYWidth() const
Definition: RPTopology.h:43
RPTopology
Geometrical and topological information on RP silicon detector. Uses coordinate a frame with origin i...
Definition: RPTopology.h:18
RPTopology::pitch_
static const double pitch_
Definition: RPTopology.h:56
RPTopology::sqrt_2
static const double sqrt_2
Definition: RPTopology.h:54
RPTopology::thickness_
static const double thickness_
Definition: RPTopology.h:57
RPTopology::DetStripNo
unsigned short DetStripNo() const
Definition: RPTopology.h:47
RPTopology::normal_direction_
Vector normal_direction_
Definition: RPTopology.h:67
RPTopology::IsHit
static bool IsHit(double u, double v, double insensitiveMargin=0)
Definition: RPTopology.cc:28
RPTopology::no_of_strips_
static const unsigned short no_of_strips_
Definition: RPTopology.h:58
RPTopology::DetPitch
double DetPitch() const
Definition: RPTopology.h:46
RPTopology::DetXWidth
double DetXWidth() const
Definition: RPTopology.h:42
RPTopology::x_width_
static const double x_width_
Definition: RPTopology.h:59
RPTopology::phys_edge_lenght_
static const double phys_edge_lenght_
Definition: RPTopology.h:61
RPTopology::Vector
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Vector
Definition: RPTopology.h:26
RPTopology::GetStripDirection
const Vector & GetStripDirection() const
Definition: RPTopology.h:30