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
Point2DBase
Definition: Point2DBase.h:9
DDAxes::y
DTTopology::xMax
Definition: DTTopology.h:89
funct::false
false
Definition: Factorize.h:29
DTTopology::channel
int channel(const LocalPoint &p) const override
Definition: DTTopology.cc:54
DTTopology::onWhichBorder_old
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:112
DTTopology::isWireValid
bool isWireValid(const int wireNumber) const
Definition: DTTopology.h:64
DTTopology::theNChannels
int theNChannels
Definition: DTTopology.h:99
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ecaldqm::nChannels
Definition: EcalDQMCommonUtils.h:114
DTTopology::IBeamWingThickness
static const float IBeamWingThickness
Definition: DTTopology.h:105
DTTopology::plateThickness
static const float plateThickness
Definition: DTTopology.h:107
DTTopology::channels
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:76
DTTopology::Side
Side
Sides of the cell.
Definition: DTTopology.h:89
DDAxes::x
DTTopology::sensibleHeight
float sensibleHeight() const
Returns the height of the actual sensible volume of the cell.
Definition: DTTopology.cc:35
DTTopology::theFirstChannel
int theFirstChannel
Definition: DTTopology.h:98
DTTopology::cellWidth
float cellWidth() const
Returns the cell width.
Definition: DTTopology.h:69
DTTopology
Definition: DTTopology.h:28
DTTopology::wirePosition
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:59
DTTopology::firstChannel
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:79
MeasurementError
Definition: MeasurementError.h:8
DDAxes::z
Point3DBase< float, LocalTag >
DTTopology::onWhichBorder
Side onWhichBorder(float x, float y, float z) const
Definition: DTTopology.cc:78
DTTopology::cellLenght
float cellLenght() const
Definition: DTTopology.h:74
DTTopology::theOffSet
Local2DPoint theOffSet
Definition: DTTopology.h:110
DTTopology::zMax
Definition: DTTopology.h:89
LocalError
Definition: LocalError.h:12
DTTopology::theHeight
static const float theHeight
Definition: DTTopology.h:102
DTTopology::IBeamWingLength
static const float IBeamWingLength
Definition: DTTopology.h:106
DTTopology::none
Definition: DTTopology.h:89
DTTopology::measurementPosition
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: DTTopology.cc:45
DTTopology::lastChannel
int lastChannel() const
Returns the wire number of the last wire.
Definition: DTTopology.h:81
DTTopology::IBeamThickness
static const float IBeamThickness
Definition: DTTopology.h:108
DTTopology::cellHeight
float cellHeight() const
Returns the cell height.
Definition: DTTopology.h:71
DTTopology::measurementError
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
Conversion to the measurement frame.
Definition: DTTopology.cc:50
DTTopology::~DTTopology
~DTTopology() override
Definition: DTTopology.h:33
DTTopology::yMin
Definition: DTTopology.h:89
DTTopology::theLength
float theLength
Definition: DTTopology.h:103
LocalPoint.h
DTTopology::zMin
Definition: DTTopology.h:89
DTTopology::DTTopology
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
Topology
Definition: Topology.h:39
DTTopology::yMax
Definition: DTTopology.h:89
DTTopology::sensibleWidth
float sensibleWidth() const
Returns the width of the actual sensible volume of the cell.
Definition: DTTopology.cc:33
DTTopology::theWidth
static const float theWidth
Definition: DTTopology.h:101
DTTopology::xMin
Definition: DTTopology.h:89
Topology.h
DTTopology::localPosition
LocalPoint localPosition(const MeasurementPoint &) const override
Definition: DTTopology.cc:37
DTTopology::localError
LocalError localError(const MeasurementPoint &, const MeasurementError &) const override
Definition: DTTopology.cc:41