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_
 
const double sqrt_2
 
HepMC::ThreeVector strip_direction_
 
HepMC::ThreeVector strip_readout_direction_
 

Static Public Attributes

static double last_strip_to_border_dist_ = 1.4175
 
static double last_strip_to_center_dist_ = RPTopology::x_width_/2. - RPTopology::last_strip_to_border_dist_
 
static unsigned short no_of_strips_ = 512
 
static double phys_edge_lenght_ = 22.276
 
static double pitch_ = 66E-3
 
static double thickness_ = 0.3
 
static double x_width_ = 36.07
 
static 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 32 of file RPTopology.h.

Constructor & Destructor Documentation

RPTopology::RPTopology ( )

Definition at line 26 of file RPTopology.cc.

27  : sqrt_2(sqrt(2.0)),
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:70
HepMC::ThreeVector normal_direction_
Definition: RPTopology.h:72
T sqrt(T t)
Definition: SSEVec.h:18
HepMC::ThreeVector strip_direction_
Definition: RPTopology.h:71
const double sqrt_2
Definition: RPTopology.h:59

Member Function Documentation

double RPTopology::DetEdgeLength ( ) const
inline

Definition at line 49 of file RPTopology.h.

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

Definition at line 51 of file RPTopology.h.

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

Definition at line 52 of file RPTopology.h.

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

Definition at line 50 of file RPTopology.h.

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

Definition at line 47 of file RPTopology.h.

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

Definition at line 48 of file RPTopology.h.

48 {return y_width_;}
static double y_width_
Definition: RPTopology.h:65
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 43 of file RPTopology.h.

45  {return last_strip_to_border_dist_ + (no_of_strips_-1)*pitch_ - y_width_/2. - strip_no * pitch_;}
static double y_width_
Definition: RPTopology.h:65
static double last_strip_to_border_dist_
Definition: RPTopology.h:67
static unsigned short no_of_strips_
Definition: RPTopology.h:63
static double pitch_
Definition: RPTopology.h:61
const HepMC::ThreeVector& RPTopology::GetNormalDirection ( ) const
inline

Definition at line 38 of file RPTopology.h.

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

Definition at line 37 of file RPTopology.h.

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

Definition at line 36 of file RPTopology.h.

HepMC::ThreeVector strip_readout_direction_
Definition: RPTopology.h:70
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_, mathSSE::sqrt(), 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 sqrt_2 = sqrt(2.);
47  double y = (u + v) / sqrt_2;
48  double edge_to_ceter_dist = (x_width_ - phys_edge_lenght_ / sqrt_2) / sqrt_2 - insensitiveMargin;
49  if (y < -edge_to_ceter_dist)
50  return false;
51 
52  return true;
53 }
T sqrt(T t)
Definition: SSEVec.h:18
static double phys_edge_lenght_
Definition: RPTopology.h:66
static double last_strip_to_center_dist_
Definition: RPTopology.h:68
static double x_width_
Definition: RPTopology.h:64
const double sqrt_2
Definition: RPTopology.h:59

Member Data Documentation

double RPTopology::last_strip_to_border_dist_ = 1.4175
static

Definition at line 67 of file RPTopology.h.

Referenced by RPSimTopology::GetStripsInvolved().

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

Definition at line 68 of file RPTopology.h.

Referenced by IsHit().

unsigned short RPTopology::no_of_strips_ = 512
static

Definition at line 63 of file RPTopology.h.

Referenced by RPSimTopology::GetStripsInvolved().

HepMC::ThreeVector RPTopology::normal_direction_

Definition at line 72 of file RPTopology.h.

double RPTopology::phys_edge_lenght_ = 22.276
static

Definition at line 66 of file RPTopology.h.

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

double RPTopology::pitch_ = 66E-3
static

Definition at line 61 of file RPTopology.h.

Referenced by RPSimTopology::GetStripsInvolved().

const double RPTopology::sqrt_2
HepMC::ThreeVector RPTopology::strip_direction_

Definition at line 71 of file RPTopology.h.

HepMC::ThreeVector RPTopology::strip_readout_direction_

Definition at line 70 of file RPTopology.h.

double RPTopology::thickness_ = 0.3
static

Definition at line 62 of file RPTopology.h.

double RPTopology::x_width_ = 36.07
static

Definition at line 64 of file RPTopology.h.

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

double RPTopology::y_width_ = 36.07
static

Definition at line 65 of file RPTopology.h.

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