CMS 3D CMS Logo

DTTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_DTGeometry_DTTopology_H
2 #define Geometry_DTGeometry_DTTopology_H
3 
27 
28 class DTTopology : public Topology {
29 public:
31  DTTopology(int firstWire, int nChannels, float semilenght);
32 
33  ~DTTopology() override {}
34 
37  LocalPoint localPosition(const MeasurementPoint&) const override;
38 
41  LocalError localError(const MeasurementPoint&, const MeasurementError&) const override;
42 
48  MeasurementPoint measurementPosition(const LocalPoint&) const override;
49 
51  MeasurementError measurementError(const LocalPoint&, const LocalError&) const override;
52 
58  int channel(const LocalPoint& p) const override;
59 
61  float wirePosition(int wireNumber) const;
62 
63  //checks if a wire number is valid
64  bool isWireValid(const int wireNumber) const {
65  return (wireNumber - (theFirstChannel - 1) <= 0 || wireNumber - lastChannel() > 0) ? false : true;
66  }
67 
69  float cellWidth() const { return theWidth; }
71  float cellHeight() const { return theHeight; }
74  float cellLenght() const { return theLength; }
76  int channels() const { return theNChannels; }
77 
79  int firstChannel() const { return theFirstChannel; }
81  int lastChannel() const { return theNChannels + theFirstChannel - 1; }
82 
84  float sensibleWidth() const;
86  float sensibleHeight() const;
87 
89  enum Side { zMin, zMax, xMin, xMax, yMin, yMax, none };
90 
93  Side onWhichBorder(float x, float y, float z) const;
95  Side onWhichBorder_old(float x, float y, float z) const;
96 
97 private:
100 
101  static const float theWidth;
102  static const float theHeight;
103  float theLength;
104 
105  static const float IBeamWingThickness;
106  static const float IBeamWingLength;
107  static const float plateThickness;
108  static const float IBeamThickness;
109 
111 };
112 
113 #endif
static const float IBeamWingLength
Definition: DTTopology.h:106
float sensibleWidth() const
Returns the width of the actual sensible volume of the cell.
Definition: DTTopology.cc:37
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: DTTopology.cc:49
static const float IBeamWingThickness
Definition: DTTopology.h:105
~DTTopology() override
Definition: DTTopology.h:33
int theFirstChannel
Definition: DTTopology.h:98
float cellLenght() const
Definition: DTTopology.h:74
static const float plateThickness
Definition: DTTopology.h:107
Side onWhichBorder(float x, float y, float z) const
Definition: DTTopology.cc:82
LocalError localError(const MeasurementPoint &, const MeasurementError &) const override
Definition: DTTopology.cc:45
int theNChannels
Definition: DTTopology.h:99
LocalPoint localPosition(const MeasurementPoint &) const override
Definition: DTTopology.cc:41
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:79
bool isWireValid(const int wireNumber) const
Definition: DTTopology.h:64
static constexpr int nChannels
float cellWidth() const
Returns the cell width.
Definition: DTTopology.h:69
Side onWhichBorder_old(float x, float y, float z) const
Returns the side of the cell in which resides the point (x,y,z) (old cell geometry).
Definition: DTTopology.cc:116
Local2DPoint theOffSet
Definition: DTTopology.h:110
static const float theHeight
Definition: DTTopology.h:102
Side
Sides of the cell.
Definition: DTTopology.h:89
static const float theWidth
Definition: DTTopology.h:101
DTTopology(int firstWire, int nChannels, float semilenght)
Constructor: number of first wire, total # of wires in the layer and their lenght.
Definition: DTTopology.cc:24
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
Conversion to the measurement frame.
Definition: DTTopology.cc:54
float theLength
Definition: DTTopology.h:103
int channel(const LocalPoint &p) const override
Definition: DTTopology.cc:58
int lastChannel() const
Returns the wire number of the last wire.
Definition: DTTopology.h:81
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:76
static const float IBeamThickness
Definition: DTTopology.h:108
float cellHeight() const
Returns the cell height.
Definition: DTTopology.h:71
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:63
float sensibleHeight() const
Returns the height of the actual sensible volume of the cell.
Definition: DTTopology.cc:39