CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GEMEtaPartition.cc
Go to the documentation of this file.
4 
5 
6 GEMEtaPartition::GEMEtaPartition(GEMDetId id, BoundPlane::BoundPlanePointer bp, GEMEtaPartitionSpecs* rrs) :
7  GeomDetUnit(bp), id_(id),specs_(rrs)
8 {
9  setDetId(id);
10 }
11 
13 {
14  delete specs_; //Assume the roll owns it specs (specs are not shared)
15 }
16 
17 const Topology&
19 {
20  return specs_->topology();
21 }
22 
23 const StripTopology&
25 {
26  return specs_->specificTopology();
27 }
28 
29 const Topology&
31 {
32  return specs_->padTopology();
33 }
34 
35 const StripTopology&
37 {
38  return specs_->specificPadTopology();
39 }
40 
41 const GeomDetType&
43 {
44  return (*specs_);
45 }
46 
47 int
49 {
50  return this->specificTopology().nstrips();
51 }
52 
55 {
56  float s = static_cast<float>(strip) - 0.5;
57  return this->specificTopology().localPosition(s);
58 }
59 
62 {
63  return this->specificTopology().localPosition(strip);
64 }
65 
67 GEMEtaPartition::localError(float strip, float cluster_size) const
68 {
69  return this->specificTopology().localError(strip, cluster_size*cluster_size/12.);
70 }
71 
72 float
74 {
75  return this->specificTopology().strip(lp);
76 }
77 
78 float
80 {
81  return this->specificTopology().localPitch(lp);
82 }
83 
84 float
86 {
87  return this->specificTopology().pitch();
88 }
89 
90 
91 int
93 {
94  return specificPadTopology().nstrips();
95 }
96 
99 {
100  float p = static_cast<float>(pad) - 0.5;
102 }
103 
106 {
107  return specificPadTopology().localPosition(pad);
108 }
109 
110 float
112 {
113  return specificPadTopology().strip(lp);
114 }
115 
116 float
118 {
119  return specificPadTopology().localPitch(lp);
120 }
121 
122 float
124 {
125  return specificPadTopology().pitch();
126 }
127 
128 
129 float
131 {
132  LocalPoint c_o_s = centreOfStrip(strip);
133  return pad(c_o_s);
134 }
135 
136 int
138 {
139  float p = static_cast<float>(pad) - 0.9999;
141  return static_cast<int>(strip(lp)) + 1;
142 }
143 
144 int
146 {
147  float p = static_cast<float>(pad) - 0.0001;
149  return static_cast<int>(strip(lp)) + 1;
150 }
151 
virtual int nstrips() const =0
float localPadPitch(const LocalPoint &lp) const
pad pitch at a particular point
const Topology & padTopology() const
LocalError localError(float strip, float cluster_size=1.) const
const Topology & padTopology() const
void setDetId(DetId id)
Definition: GeomDet.h:114
int lastStripInPad(int pad) const
returns last strip (INT number [1,nstrip]) for pad (an integer [1,npads])
GEMEtaPartition(GEMDetId id, BoundPlane::BoundPlanePointer bp, GEMEtaPartitionSpecs *rrs)
const StripTopology & specificPadTopology() const
float padPitch() const
pad pitch in a center
const Topology & topology() const
float padOfStrip(int strip) const
returns FRACTIONAL pad number [0.,npads] for an integer strip [1,nstrip]
LocalPoint centreOfStrip(int strip) const
virtual float strip(const LocalPoint &) const =0
const StripTopology & specificTopology() const
const Topology & topology() const
virtual float localPitch(const LocalPoint &) const =0
float localPitch(const LocalPoint &lp) const
int nstrips() const
number of readout strips in partition
int firstStripInPad(int pad) const
returns first strip (INT number [1,nstrip]) for pad (an integer [1,npads])
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
int npads() const
number of GEM-CSC trigger readout pads in partition
const StripTopology & specificTopology() const
const StripTopology & specificPadTopology() const
GEMEtaPartitionSpecs * specs_
float pitch() const
const GeomDetType & type() const
float strip(const LocalPoint &lp) const
LocalPoint centreOfPad(int pad) const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float pitch() const =0
virtual LocalPoint localPosition(float strip) const =0