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:
30 
32  DTTopology(int firstWire, int nChannels, float semilenght);
33 
34  ~DTTopology() override {}
35 
38  LocalPoint localPosition( const MeasurementPoint& ) const override;
39 
42  LocalError localError( const MeasurementPoint&, const MeasurementError& ) const override;
43 
49  MeasurementPoint measurementPosition( const LocalPoint&) const override;
50 
52  MeasurementError measurementError( const LocalPoint&, const LocalError& ) const override;
53 
59  int channel( const LocalPoint& p) const override;
60 
62  float wirePosition(int wireNumber) const;
63 
64  //checks if a wire number is valid
65  bool isWireValid(const int wireNumber) const {return (wireNumber - (theFirstChannel - 1) <= 0 || wireNumber - lastChannel() > 0 ) ? false : true;}
66 
68  float cellWidth() const {return theWidth;}
70  float cellHeight() const {return theHeight;}
73  float cellLenght() const {return theLength;}
75  int channels() const {return theNChannels;}
76 
78  int firstChannel() const {return theFirstChannel;}
80  int lastChannel() const {return theNChannels+theFirstChannel-1;}
81 
83  float sensibleWidth() const;
85  float sensibleHeight() const;
86 
89 
92  Side onWhichBorder(float x, float y, float z) const;
94  Side onWhichBorder_old(float x, float y, float z) const;
95 
96 private:
99 
100  static const float theWidth;
101  static const float theHeight;
102  float theLength;
103 
104  static const float IBeamWingThickness;
105  static const float IBeamWingLength;
106  static const float plateThickness;
107  static const float IBeamThickness;
108 
110 };
111 
112 #endif
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
static const float IBeamWingLength
Definition: DTTopology.h:105
static const float IBeamWingThickness
Definition: DTTopology.h:104
float sensibleHeight() const
Returns the height of the actual sensible volume of the cell.
Definition: DTTopology.cc:45
~DTTopology() override
Definition: DTTopology.h:34
int channel(const LocalPoint &p) const override
Definition: DTTopology.cc:79
Side onWhichBorder(float x, float y, float z) const
Definition: DTTopology.cc:109
int theFirstChannel
Definition: DTTopology.h:97
static const float plateThickness
Definition: DTTopology.h:106
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: DTTopology.cc:65
float cellWidth() const
Returns the cell width.
Definition: DTTopology.h:68
int theNChannels
Definition: DTTopology.h:98
float sensibleWidth() const
Returns the width of the actual sensible volume of the cell.
Definition: DTTopology.cc:39
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:78
int lastChannel() const
Returns the wire number of the last wire.
Definition: DTTopology.h:80
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
Conversion to the measurement frame.
Definition: DTTopology.cc:72
Local2DPoint theOffSet
Definition: DTTopology.h:109
static const float theHeight
Definition: DTTopology.h:101
float cellHeight() const
Returns the cell height.
Definition: DTTopology.h:70
Side
Sides of the cell.
Definition: DTTopology.h:88
static const float theWidth
Definition: DTTopology.h:100
DTTopology(int firstWire, int nChannels, float semilenght)
Constructor: number of first wire, total # of wires in the layer and their lenght.
Definition: DTTopology.cc:22
LocalError localError(const MeasurementPoint &, const MeasurementError &) const override
Definition: DTTopology.cc:58
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:75
float theLength
Definition: DTTopology.h:102
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:143
bool isWireValid(const int wireNumber) const
Definition: DTTopology.h:65
LocalPoint localPosition(const MeasurementPoint &) const override
Definition: DTTopology.cc:51
float cellLenght() const
Definition: DTTopology.h:73
static const float IBeamThickness
Definition: DTTopology.h:107