CMS 3D CMS Logo

List of all members | 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 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 HepMC::ThreeVector & GetNormalDirection () const
 
const HepMC::ThreeVector & GetStripDirection () const
 
const HepMC::ThreeVector & GetStripReadoutAxisDir () const
 
 RPTopology ()
 

Static Public Member Functions

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

Public Attributes

HepMC::ThreeVector normal_direction_
 
HepMC::ThreeVector strip_direction_
 
HepMC::ThreeVector strip_readout_direction_
 

Static Public Attributes

static const double last_strip_to_border_dist_ = 1.4175
 
static const double last_strip_to_center_dist_ = RPTopology::x_width_/2. - RPTopology::last_strip_to_border_dist_
 
static const unsigned short no_of_strips_ = 512
 
static const double phys_edge_lenght_ = 22.276
 
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 29 of file RPTopology.h.

Constructor & Destructor Documentation

RPTopology::RPTopology ( )

Definition at line 27 of file RPTopology.cc.

28  : strip_readout_direction_(0, 1, 0),
29  strip_direction_(1,0,0),
30  normal_direction_(0,0,1)
31 {
32 }
HepMC::ThreeVector strip_readout_direction_
Definition: RPTopology.h:67
HepMC::ThreeVector normal_direction_
Definition: RPTopology.h:69
HepMC::ThreeVector strip_direction_
Definition: RPTopology.h:68

Member Function Documentation

double RPTopology::DetEdgeLength ( ) const
inline

Definition at line 46 of file RPTopology.h.

46 {return phys_edge_lenght_;}
static const double phys_edge_lenght_
Definition: RPTopology.h:63
double RPTopology::DetPitch ( ) const
inline

Definition at line 48 of file RPTopology.h.

48 {return pitch_;}
static const double pitch_
Definition: RPTopology.h:58
unsigned short RPTopology::DetStripNo ( ) const
inline

Definition at line 49 of file RPTopology.h.

References findQualityFiles::v.

49 {return no_of_strips_;}
static const unsigned short no_of_strips_
Definition: RPTopology.h:60
double RPTopology::DetThickness ( ) const
inline

Definition at line 47 of file RPTopology.h.

47 {return thickness_;}
static const double thickness_
Definition: RPTopology.h:59
double RPTopology::DetXWidth ( ) const
inline

Definition at line 44 of file RPTopology.h.

44 {return x_width_;}
static const double x_width_
Definition: RPTopology.h:61
double RPTopology::DetYWidth ( ) const
inline

Definition at line 45 of file RPTopology.h.

45 {return y_width_;}
static const double y_width_
Definition: RPTopology.h:62
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 40 of file RPTopology.h.

Referenced by TotemRPRecHitProducerAlgorithm::buildRecoHits().

42  {return last_strip_to_border_dist_ + (no_of_strips_-1)*pitch_ - y_width_/2. - strip_no * pitch_;}
static const unsigned short no_of_strips_
Definition: RPTopology.h:60
static const double y_width_
Definition: RPTopology.h:62
static const double last_strip_to_border_dist_
Definition: RPTopology.h:64
static const double pitch_
Definition: RPTopology.h:58
const HepMC::ThreeVector& RPTopology::GetNormalDirection ( ) const
inline

Definition at line 35 of file RPTopology.h.

35 {return normal_direction_;}
HepMC::ThreeVector normal_direction_
Definition: RPTopology.h:69
const HepMC::ThreeVector& RPTopology::GetStripDirection ( ) const
inline

Definition at line 34 of file RPTopology.h.

34 {return strip_direction_;}
HepMC::ThreeVector strip_direction_
Definition: RPTopology.h:68
const HepMC::ThreeVector& RPTopology::GetStripReadoutAxisDir ( ) const
inline

Definition at line 33 of file RPTopology.h.

HepMC::ThreeVector strip_readout_direction_
Definition: RPTopology.h:67
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 36 of file RPTopology.cc.

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

Referenced by CTPPSDirectProtonSimulation::processProton().

37 {
38  // assumes square shape
39 
40  if (fabs(u) > last_strip_to_center_dist_)
41  return false;
42 
43  if (fabs(v) > last_strip_to_center_dist_)
44  return false;
45 
46  double y = (u + v) / sqrt_2;
47  double edge_to_ceter_dist = (x_width_ - phys_edge_lenght_ / sqrt_2) / sqrt_2 - insensitiveMargin;
48  if (y < -edge_to_ceter_dist)
49  return false;
50 
51  return true;
52 }
static const double phys_edge_lenght_
Definition: RPTopology.h:63
static const double last_strip_to_center_dist_
Definition: RPTopology.h:65
static const double x_width_
Definition: RPTopology.h:61
static const double sqrt_2
Definition: RPTopology.h:56

Member Data Documentation

const double RPTopology::last_strip_to_border_dist_ = 1.4175
static
const double RPTopology::last_strip_to_center_dist_ = RPTopology::x_width_/2. - RPTopology::last_strip_to_border_dist_
static

Definition at line 65 of file RPTopology.h.

Referenced by IsHit().

const unsigned short RPTopology::no_of_strips_ = 512
static
HepMC::ThreeVector RPTopology::normal_direction_

Definition at line 69 of file RPTopology.h.

const double RPTopology::phys_edge_lenght_ = 22.276
static

Definition at line 63 of file RPTopology.h.

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

const double RPTopology::pitch_ = 66E-3
static
const double RPTopology::sqrt_2 = std::sqrt(2.0)
static

Definition at line 56 of file RPTopology.h.

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

HepMC::ThreeVector RPTopology::strip_direction_

Definition at line 68 of file RPTopology.h.

HepMC::ThreeVector RPTopology::strip_readout_direction_

Definition at line 67 of file RPTopology.h.

const double RPTopology::thickness_ = 0.3
static

Definition at line 59 of file RPTopology.h.

const double RPTopology::x_width_ = 36.07
static

Definition at line 61 of file RPTopology.h.

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

const double RPTopology::y_width_ = 36.07
static