CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 30 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:68
HepMC::ThreeVector normal_direction_
Definition: RPTopology.h:70
HepMC::ThreeVector strip_direction_
Definition: RPTopology.h:69

Member Function Documentation

double RPTopology::DetEdgeLength ( ) const
inline

Definition at line 47 of file RPTopology.h.

References phys_edge_lenght_.

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

Definition at line 49 of file RPTopology.h.

References pitch_.

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

Definition at line 50 of file RPTopology.h.

References no_of_strips_.

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

Definition at line 48 of file RPTopology.h.

References thickness_.

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

Definition at line 45 of file RPTopology.h.

References x_width_.

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

Definition at line 46 of file RPTopology.h.

References y_width_.

46 {return y_width_;}
static const double y_width_
Definition: RPTopology.h:63
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 41 of file RPTopology.h.

References last_strip_to_border_dist_, no_of_strips_, pitch_, and y_width_.

Referenced by TotemRPRecHitProducerAlgorithm::buildRecoHits().

43  {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:61
static const double y_width_
Definition: RPTopology.h:63
static const double last_strip_to_border_dist_
Definition: RPTopology.h:65
static const double pitch_
Definition: RPTopology.h:59
const HepMC::ThreeVector& RPTopology::GetNormalDirection ( ) const
inline

Definition at line 36 of file RPTopology.h.

References normal_direction_.

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

Definition at line 35 of file RPTopology.h.

References strip_direction_.

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

Definition at line 34 of file RPTopology.h.

References strip_readout_direction_.

HepMC::ThreeVector strip_readout_direction_
Definition: RPTopology.h:68
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.

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:64
static const double last_strip_to_center_dist_
Definition: RPTopology.h:66
static const double x_width_
Definition: RPTopology.h:62
static const double sqrt_2
Definition: RPTopology.h:57

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 66 of file RPTopology.h.

Referenced by IsHit().

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

Definition at line 70 of file RPTopology.h.

Referenced by GetNormalDirection().

const double RPTopology::phys_edge_lenght_ = 22.276
static

Definition at line 64 of file RPTopology.h.

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

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

Definition at line 69 of file RPTopology.h.

Referenced by GetStripDirection().

HepMC::ThreeVector RPTopology::strip_readout_direction_

Definition at line 68 of file RPTopology.h.

Referenced by GetStripReadoutAxisDir().

const double RPTopology::thickness_ = 0.3
static

Definition at line 60 of file RPTopology.h.

Referenced by DetThickness().

const double RPTopology::x_width_ = 36.07
static

Definition at line 62 of file RPTopology.h.

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

const double RPTopology::y_width_ = 36.07
static