CMS 3D CMS Logo

GEMEtaPartition.h
Go to the documentation of this file.
1 #ifndef Geometry_GEMGeometry_GEMEtaPartition_H
2 #define Geometry_GEMGeometry_GEMEtaPartition_H
3 
8 
9 class StripTopology;
11 
12 class GEMEtaPartition : public GeomDet {
13 public:
15  ~GEMEtaPartition() override;
16 
17  const GEMEtaPartitionSpecs* specs() const { return specs_; }
18  GEMDetId id() const { return id_; }
19 
20  const Topology& topology() const override;
21  const StripTopology& specificTopology() const;
22 
23  const Topology& padTopology() const;
24  const StripTopology& specificPadTopology() const;
25 
26  const GeomDetType& type() const override;
27 
28  // strip-related methods:
29 
31  int nstrips() const;
32 
35  LocalPoint centreOfStrip(int strip) const;
36 
39  LocalPoint centreOfStrip(float strip) const;
40  LocalError localError(float strip, float cluster_size = 1.) const;
44  float strip(const LocalPoint& lp) const;
45 
46  float pitch() const;
47  float localPitch(const LocalPoint& lp) const;
48 
49  // GEM-CSC pad-related methods:
50 
52  int npads() const;
53 
56  LocalPoint centreOfPad(int pad) const;
57 
60  LocalPoint centreOfPad(float pad) const;
61 
63  float pad(const LocalPoint& lp) const;
64 
66  float padPitch() const;
68  float localPadPitch(const LocalPoint& lp) const;
69 
70  // relations between strips and pads:
71 
73  float padOfStrip(int strip) const;
74 
76  int firstStripInPad(int pad) const;
77 
79  int lastStripInPad(int pad) const;
80 
81  // subsystem
83  bool isME0() const;
84  bool isGE11() const;
85  bool isGE21() const;
86 
87 private:
90 };
91 
92 #endif
float padPitch() const
pad pitch in a center
LocalError localError(float strip, float cluster_size=1.) const
GEMSubDetId::Station subsystem() const
int firstStripInPad(int pad) const
returns first strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1])
const GEMEtaPartitionSpecs * specs() const
bool isGE21() const
float strip(const LocalPoint &lp) const
float padOfStrip(int strip) const
returns FRACTIONAL pad number [0.,npads) for an integer strip [0,nstrip-1]
float localPadPitch(const LocalPoint &lp) const
pad pitch at a particular point
bool isME0() const
const Topology & padTopology() const
GEMDetId id() const
const StripTopology & specificPadTopology() const
int npads() const
number of GEM-CSC trigger readout pads in partition
GEMEtaPartition(GEMDetId id, const BoundPlane::BoundPlanePointer &bp, GEMEtaPartitionSpecs *rrs)
GEMEtaPartitionSpecs * specs_
const GeomDetType & type() const override
~GEMEtaPartition() override
float pitch() const
const Topology & topology() const override
int lastStripInPad(int pad) const
returns last strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1])
bool isGE11() const
const StripTopology & specificTopology() const
LocalPoint centreOfPad(int pad) const
float localPitch(const LocalPoint &lp) const
int nstrips() const
number of readout strips in partition
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads) for a point
LocalPoint centreOfStrip(int strip) const