![]() |
ATLAS Offline Software
|
The StripLayer interfaces the 2D description of the strip plane layout with the 3D description of the strips within the read out elements volume. More...
#include <StripLayer.h>
Public Types | |
| using | TransformPtr = GeoIntrusivePtr< const GeoTransform > |
| using | CheckVector2D = StripDesign::CheckVector2D |
Public Member Functions | |
| StripLayer (TransformPtr layerTransform, StripDesignPtr design, const IdentifierHash hash) | |
| Standard constructor taking the transform to decribe a strip layer, a pointer to the eta strip design and the associated hash for internal identification of the StripLayer by the Readoutelement. More... | |
| StripLayer (TransformPtr layerTransform, StripDesignPtr etaDesign, StripDesignPtr phiDesign, const IdentifierHash hash) | |
| Constructor taking the transform to position the strip layer, but taking two StripDesign pointers to describe the orthogonal strips within the same coordinate system. More... | |
| const Amg::Transform3D & | toOrigin () const |
| Returns the transformation to go from the strip layer center to the origin of the Strip chamber. More... | |
| const StripDesign & | design (bool phiView=false) const |
| Returns the underlying strip design. More... | |
| const IdentifierHash | hash () const |
| Returns the hash of the strip layer. More... | |
| Amg::Vector3D | localStripPosition (unsigned int stripum, bool phiView=false) const |
| Returns the position of the strip centre expressed in the frame of the local readout plane. More... | |
| Amg::Vector3D | localStripLeftEdge (unsigned int stripNum, bool phiView=false) const |
| Returns the position of the strip edge at (positive y in the strip design description) in the local coordinates of the local readout planes. More... | |
| Amg::Vector3D | localStripRightEdge (unsigned int stripNum, bool phiView=false) const |
| Returns the position of the right strip edge at (negative y in the strip design description) in the local coordinates of the local readout planes. More... | |
| bool | operator< (const StripLayer &other) const |
| Comparison operator to recycle equivalent StripLayers for multiple readout elements. More... | |
| bool | hasPhiDesign () const |
| Returns whether the strip layer also describes strips in the phi direction. More... | |
| Amg::Vector3D | to3D (CheckVector2D &&vec, const bool phiView) const |
| Transforms the 2D vector from the strip design into a 3D vector If phi view is switched on, the vector is additionally rotated by 90 degrees. More... | |
| Amg::Vector2D | to2D (const Amg::Vector3D &vec, const bool phiView) const |
| Transforms a 3D vector from the strip design into a 2D vector. More... | |
| void | flipPhiRotation () |
| Flips the phi rotation from 90 -> -90 degrees. More... | |
Private Attributes | |
| TransformPtr | m_transform {} |
| Pointer to the GeoModelTransform More... | |
| StripDesignPtr | m_etaDesign {} |
| Pointer to the eta strip design. More... | |
| StripDesignPtr | m_phiDesign {} |
| Pointer to the phi strip design. More... | |
| IdentifierHash | m_hash {} |
| Hash of the strip layer. More... | |
| double | m_phiRot {90.*Gaudi::Units::deg} |
The StripLayer interfaces the 2D description of the strip plane layout with the 3D description of the strips within the read out elements volume.
It places the strips inside the readout volume which is further transformed by the ReadoutElement to a global placement of the strip within ATLAS.
Definition at line 19 of file StripLayer.h.
Definition at line 76 of file StripLayer.h.
| using MuonGMR4::StripLayer::TransformPtr = GeoIntrusivePtr<const GeoTransform> |
Definition at line 21 of file StripLayer.h.
| MuonGMR4::StripLayer::StripLayer | ( | TransformPtr | layerTransform, |
| StripDesignPtr | design, | ||
| const IdentifierHash | hash | ||
| ) |
Standard constructor taking the transform to decribe a strip layer, a pointer to the eta strip design and the associated hash for internal identification of the StripLayer by the Readoutelement.
| layerTransform | Pointer to the Transform to position the strip plane within the readout element's frame. |
| design | Pointer to the StripDesign describing the strip layout in the plane |
| hash | IdentifierHash to uniquely Identify the layer within a readout element. |
Definition at line 17 of file StripLayer.cxx.
| MuonGMR4::StripLayer::StripLayer | ( | TransformPtr | layerTransform, |
| StripDesignPtr | etaDesign, | ||
| StripDesignPtr | phiDesign, | ||
| const IdentifierHash | hash | ||
| ) |
Constructor taking the transform to position the strip layer, but taking two StripDesign pointers to describe the orthogonal strips within the same coordinate system.
The transform is assumed to be aligned with the eta measurement.
| etaDesign | Pointer to the StripDesign describing the layout in eta direction |
| phiDesign | Pointer to the StripDesign describing the layout in phi direction |
| hash | IdentifierHash to uniquely Identify the layer within a readout element. |
Definition at line 22 of file StripLayer.cxx.
| const StripDesign& MuonGMR4::StripLayer::design | ( | bool | phiView = false | ) | const |
Returns the underlying strip design.
| phiView | If the strip layer holds two designs, the one mapping the phi oriented strips is returned |
| void MuonGMR4::StripLayer::flipPhiRotation | ( | ) |
Flips the phi rotation from 90 -> -90 degrees.
Definition at line 14 of file StripLayer.cxx.
| const IdentifierHash MuonGMR4::StripLayer::hash | ( | ) | const |
Returns the hash of the strip layer.
| bool MuonGMR4::StripLayer::hasPhiDesign | ( | ) | const |
Returns whether the strip layer also describes strips in the phi direction.
| Amg::Vector3D MuonGMR4::StripLayer::localStripLeftEdge | ( | unsigned int | stripNum, |
| bool | phiView = false |
||
| ) | const |
Returns the position of the strip edge at (positive y in the strip design description) in the local coordinates of the local readout planes.
| stripNum | Number of the strip to fetch [firtStrip - nStrips] cf. StripDesign |
| phiView | Switch whether the strips in the phi plane should be returned. Only active if the class is instantiated with two strip designs |
| Amg::Vector3D MuonGMR4::StripLayer::localStripPosition | ( | unsigned int | stripum, |
| bool | phiView = false |
||
| ) | const |
Returns the position of the strip centre expressed in the frame of the local readout plane.
| stripNum | Number of the strip to fetch [firtStrip - nStrips] cf. StripDesign, |
| phiView | Switch whether the strips in the phi plane should be returned. Only active if the class is instantiated with two strip designs |
| Amg::Vector3D MuonGMR4::StripLayer::localStripRightEdge | ( | unsigned int | stripNum, |
| bool | phiView = false |
||
| ) | const |
Returns the position of the right strip edge at (negative y in the strip design description) in the local coordinates of the local readout planes.
| stripNum | Number of the strip to fetch [firtStrip - nStrips] cf. StripDesign |
| phiView | Switch whether the strips in the phi plane should be returned. Only active if the class is instantiated with two strip designs |
| bool MuonGMR4::StripLayer::operator< | ( | const StripLayer & | other | ) | const |
Comparison operator to recycle equivalent StripLayers for multiple readout elements.
Definition at line 31 of file StripLayer.cxx.
| Amg::Vector2D MuonGMR4::StripLayer::to2D | ( | const Amg::Vector3D & | vec, |
| const bool | phiView | ||
| ) | const |
Transforms a 3D vector from the strip design into a 2D vector.
If phi view is switched on, the vector is rotated by -90 degrees
| vec | Vector to be turned into a 3D vector |
| phiView | Switched whether the strips should be rotated |
| Amg::Vector3D MuonGMR4::StripLayer::to3D | ( | CheckVector2D && | vec, |
| const bool | phiView | ||
| ) | const |
Transforms the 2D vector from the strip design into a 3D vector If phi view is switched on, the vector is additionally rotated by 90 degrees.
| vec | Vector to be turned into a 3D vector |
| phiView | Switched whether the strips should be rotated |
| const Amg::Transform3D& MuonGMR4::StripLayer::toOrigin | ( | ) | const |
Returns the transformation to go from the strip layer center to the origin of the Strip chamber.
|
private |
Pointer to the eta strip design.
Definition at line 93 of file StripLayer.h.
|
private |
Hash of the strip layer.
Definition at line 97 of file StripLayer.h.
|
private |
Pointer to the phi strip design.
Definition at line 95 of file StripLayer.h.
|
private |
Definition at line 98 of file StripLayer.h.
|
private |
Pointer to the GeoModelTransform
Definition at line 91 of file StripLayer.h.
1.8.18