CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes
RPTopology Class Reference

Geometrical and topological information on RP silicon detector. Uses coordinate a frame with origin in the center of the wafer. More...

#include <RPTopology.h>

Inheritance diagram for RPTopology:
RPSimTopology

Public Types

using Vector = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > >
 

Public Member Functions

double DetEdgeLength () const
 
double DetPitch () const
 
unsigned short DetStripNo () const
 
double DetThickness () const
 
double DetXWidth () const
 
double DetYWidth () const
 
double GetHitPositionInReadoutDirection (double strip_no) const
 
const VectorGetNormalDirection () const
 
const VectorGetStripDirection () const
 
const VectorGetStripReadoutAxisDir () const
 
 RPTopology ()
 

Static Public Member Functions

static bool IsHit (double u, double v, double insensitiveMargin=0)
 

Public Attributes

Vector normal_direction_
 
Vector strip_direction_
 
Vector strip_readout_direction_
 

Static Public Attributes

static const double last_strip_to_border_dist_ = 1.4175
 
static const double last_strip_to_center_dist_
 
static const unsigned short no_of_strips_ = 512
 
static const double phys_edge_lenght_
 
static const double pitch_ = 66E-3
 
static const double sqrt_2 = std::sqrt(2.0)
 
static const double thickness_ = 0.3
 
static const double x_width_ = 36.07
 
static const double y_width_ = 36.07
 

Detailed Description

Geometrical and topological information on RP silicon detector. Uses coordinate a frame with origin in the center of the wafer.

Definition at line 18 of file RPTopology.h.

Member Typedef Documentation

◆ Vector

using RPTopology::Vector = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double> >

Definition at line 26 of file RPTopology.h.

Constructor & Destructor Documentation

◆ RPTopology()

RPTopology::RPTopology ( )

Definition at line 26 of file RPTopology.cc.

Member Function Documentation

◆ DetEdgeLength()

double RPTopology::DetEdgeLength ( ) const
inline

Definition at line 44 of file RPTopology.h.

48 :
49  static const double sqrt_2;

◆ DetPitch()

double RPTopology::DetPitch ( ) const
inline

Definition at line 46 of file RPTopology.h.

48 :
49  static const double sqrt_2;

◆ DetStripNo()

unsigned short RPTopology::DetStripNo ( ) const
inline

◆ DetThickness()

double RPTopology::DetThickness ( ) const
inline

Definition at line 45 of file RPTopology.h.

48 :
49  static const double sqrt_2;

Referenced by RPLinearChargeCollectionDrifter::RPLinearChargeCollectionDrifter().

◆ DetXWidth()

double RPTopology::DetXWidth ( ) const
inline

Definition at line 42 of file RPTopology.h.

42 { return no_of_strips_; }

References no_of_strips_.

◆ DetYWidth()

double RPTopology::DetYWidth ( ) const
inline

Definition at line 43 of file RPTopology.h.

48 :
49  static const double sqrt_2;

◆ GetHitPositionInReadoutDirection()

double RPTopology::GetHitPositionInReadoutDirection ( double  strip_no) const
inline

method converts strip number to a hit position [mm] in det readout coordinate in the origin in the middle of the si detector strip_no is assumed in the range 0 ... no_of_strips_ - 1

Definition at line 36 of file RPTopology.h.

37  { 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_; }

References x_width_.

Referenced by TotemRPRecHitProducerAlgorithm::buildRecoHits().

◆ GetNormalDirection()

const Vector& RPTopology::GetNormalDirection ( ) const
inline

Definition at line 31 of file RPTopology.h.

33 {

References last_strip_to_border_dist_, no_of_strips_, pitch_, and y_width_.

◆ GetStripDirection()

const Vector& RPTopology::GetStripDirection ( ) const
inline

Definition at line 30 of file RPTopology.h.

33 {

◆ GetStripReadoutAxisDir()

const Vector& RPTopology::GetStripReadoutAxisDir ( ) const
inline

Definition at line 29 of file RPTopology.h.

33 {

◆ IsHit()

bool RPTopology::IsHit ( double  u,
double  v,
double  insensitiveMargin = 0 
)
static

returns true if hit at coordinates u, v (in mm) falls into the sensitive area can take into account insensitive margin (in mm) at the beam-facing edge

Definition at line 28 of file RPTopology.cc.

29  {
30  // assumes square shape
31 
32  if (fabs(u) > last_strip_to_center_dist_)
33  return false;
34 
35  if (fabs(v) > last_strip_to_center_dist_)
36  return false;
37 
38  double y = (u + v) / sqrt_2;
39  double edge_to_ceter_dist = (x_width_ - phys_edge_lenght_ / sqrt_2) / sqrt_2 - insensitiveMargin;
40  if (y < -edge_to_ceter_dist)
41  return false;
42 
43  return true;

References last_strip_to_center_dist_, phys_edge_lenght_, sqrt_2, findQualityFiles::v, x_width_, and y.

Referenced by PPSFastLocalSimulation::GenerateTrack(), and CTPPSDirectProtonSimulation::processProton().

Member Data Documentation

◆ last_strip_to_border_dist_

const double RPTopology::last_strip_to_border_dist_ = 1.4175
static

◆ last_strip_to_center_dist_

const double RPTopology::last_strip_to_center_dist_
static
Initial value:

Definition at line 63 of file RPTopology.h.

Referenced by IsHit().

◆ no_of_strips_

const unsigned short RPTopology::no_of_strips_ = 512
static

◆ normal_direction_

Vector RPTopology::normal_direction_

Definition at line 67 of file RPTopology.h.

◆ phys_edge_lenght_

const double RPTopology::phys_edge_lenght_
static
Initial value:
=
22.276

Definition at line 61 of file RPTopology.h.

Referenced by IsHit(), and RPSimTopology::RPSimTopology().

◆ pitch_

const double RPTopology::pitch_ = 66E-3
static

◆ sqrt_2

const double RPTopology::sqrt_2 = std::sqrt(2.0)
static

◆ strip_direction_

Vector RPTopology::strip_direction_

Definition at line 66 of file RPTopology.h.

◆ strip_readout_direction_

Vector RPTopology::strip_readout_direction_

Definition at line 65 of file RPTopology.h.

◆ thickness_

const double RPTopology::thickness_ = 0.3
static

Definition at line 57 of file RPTopology.h.

◆ x_width_

const double RPTopology::x_width_ = 36.07
static

◆ y_width_

const double RPTopology::y_width_ = 36.07
static
RPTopology::DetEdgeLength
double DetEdgeLength() const
Definition: RPTopology.h:44
DDAxes::y
RPTopology::y_width_
static const double y_width_
Definition: RPTopology.h:60
RPTopology::DetThickness
double DetThickness() const
Definition: RPTopology.h:45
findQualityFiles.v
v
Definition: findQualityFiles.py:179
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::DetYWidth
double DetYWidth() const
Definition: RPTopology.h:43
RPTopology::sqrt_2
static const double sqrt_2
Definition: RPTopology.h:54
RPTopology::thickness_
static const double thickness_
Definition: RPTopology.h:57
RPTopology::no_of_strips_
static const unsigned short no_of_strips_
Definition: RPTopology.h:58
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