![]() |
ATLAS Offline Software
|
#include <MuonChannelDesign.h>
Public Types | |
| enum class | ChannelType { etaStrip , phiStrip } |
| enum class | DetType { MM , STGC , Other } |
Public Member Functions | |
| MuonChannelDesign () | |
| double | distanceToReadout (const Amg::Vector2D &pos) const |
| distance to readout | |
| double | distanceToChannel (const Amg::Vector2D &pos, int nChannel) const |
| distance to channel - residual | |
| int | channelNumber (const Amg::Vector2D &pos) const |
| calculate local channel number, range 1=nstrips like identifiers. Returns -1 if out of range | |
| int | wireGroupNumber (const Amg::Vector2D &pos) const |
| calculate local wire group number, range 1=64 like identifiers. Returns -1 if out of range | |
| int | wireNumber (const Amg::Vector2D &pos) const |
| calculate the sTGC wire number. The method can return a value outside the range [1, nch]. | |
| double | channelWidth () const |
| calculate local channel width | |
| void | defineTrapezoid (double HalfShortY, double HalfLongY, double HalfHeight) |
| set the trapezoid dimensions | |
| void | defineTrapezoid (double HalfShortY, double HalfLongY, double HalfHeight, double sAngle) |
| void | defineDiamond (double HalfShortY, double HalfLongY, double HalfHeight, double ycutout) |
| double | stereoAngle () const |
| returns the stereo angle | |
| double | yCutout () const |
| double | hasStereoAngle () const |
| returns whether the stereo angle is non-zero | |
| double | isDiamondShape () const |
| returns whether it's a diamond shape (sTGC QL3) | |
| const | AmgSymMatrix (2) &rotation() const |
| returns the rotation matrix between eta <-> phi layer | |
| double | channelLength (int channel) const |
| STRIPS ONLY: calculate channel length for a given strip number. | |
| double | channelHalfLength (int st, bool left) const |
| STRIPS ONLY: calculate channel length on the given side of the x axis (for MM stereo strips) | |
| double | gasGapThickness () const |
| thickness of gas gap | |
| bool | center (int channel, Amg::Vector2D &pos) const |
| STRIPS ONLY: Returns the center on the strip. | |
| bool | leftEdge (int channel, Amg::Vector2D &pos) const |
| STRIPS ONLY: Returns the left edge of the strip. | |
| bool | rightEdge (int channel, Amg::Vector2D &pos) const |
| STRIPS ONLY: Returns the right edge of the strip. | |
| int | numberOfMissingTopStrips () const |
| Returns the number of missing top strips. | |
| int | numberOfMissingBottomStrips () const |
| Returns the number of missing bottom strips. | |
| double | xSize () const |
| double | maxYSize () const |
| double | minYSize () const |
| double | passivatedLength (double passivWidth, bool left) const |
| top edge -> left edge bottom edge -> right edge a rectangle with height H parallel to the inclined edges is passivated | |
| double | passivatedHeight (double passivHeight, bool edge) const |
| Passivation is applied parallel to. | |
| void | setFirstPos (const double pos) |
| Set the position of the first strip along the x-axis. | |
| double | firstPos () const |
| Returns the position of the first strip along the x-axis. | |
| int | positionRelativeToStrip (const Amg::Vector2D &lpos, Amg::Vector2D &rel_pos) const |
| STRIPS ONLY. | |
Public Attributes | |
| ChannelType | type { ChannelType::etaStrip } |
| DetType | detType { DetType::Other } |
| int | nch {-1} |
| double | inputPitch {0.} |
| double | inputWidth {0.} |
| double | inputLength {0.} |
| double | firstPitch {0.} |
| double | groupWidth {0.} |
| double | nGroups {0.} |
| double | wireCutout {0.} |
| double | thickness {0.} |
| int | nMissedTopEta {0} |
| int | nMissedBottomEta {0} |
| int | nMissedTopStereo {0} |
| int | nMissedBottomStereo {0} |
| int | totalStrips {0} |
| bool | isConvertedFromPhaseII {false} |
Private Member Functions | |
| bool | channelPosition (int channel, Amg::Vector2D &pos) const |
| calculate local channel position for a given channel number | |
| bool | leftInterSect (int channel, Amg::Vector2D &pos, bool uncapped=false) const |
| Returns the intersection of the strip with the left edge of the trapezoid. Special cases: | |
| bool | rightInterSect (int channel, Amg::Vector2D &pos, bool uncapped=false) const |
| Returns the right edge of the strip. | |
| bool | geomCenter (int channel, Amg::Vector2D &pos) const |
| Returns the geometrical strip center. | |
| void | setStereoAngle (double sAngle) |
| calculate local stereo angle | |
| AmgSymMatrix (2) m_rotMat | |
Private Attributes | |
| bool | m_hasStereo {false} |
| bool | m_isDiamond {false} |
| double | m_sAngle {0.} |
| double | m_yCutout {0.} |
| Amg::Vector2D | m_stereoDir {0,1} |
| Direction of the strips. | |
| Amg::Vector2D | m_stereoNormal {1.,0.} |
| Direction pointing to the next strips. | |
| double | m_firstPos {0.} |
| Position of the first measurement. | |
| Amg::Vector2D | m_topEdge {Amg::Vector2D::Zero()} |
| Vector describing the right edge of the trapzoid. | |
| Amg::Vector2D | m_bottomEdge {Amg::Vector2D::Zero()} |
| Vector describing the left edge of the trapezoid. | |
| Amg::Vector2D | m_bottomLeft {Amg::Vector2D::Zero()} |
| Bottom left point of the trapezoid. | |
| Amg::Vector2D | m_bottomRight {Amg::Vector2D::Zero()} |
| Bottom right point of the trapezoid. | |
| Amg::Vector2D | m_topLeft {Amg::Vector2D::Zero()} |
| Top right point of the trapezoid. | |
| Amg::Vector2D | m_topRight {Amg::Vector2D::Zero()} |
| Bottom right point of the trapezoid. | |
| double | m_maxHorSize {0.} |
| double | m_xSize {0.} |
| double | m_minYSize {0.} |
| double | m_maxYSize {0.} |
Definition at line 21 of file MuonChannelDesign.h.
|
strong |
| Enumerator | |
|---|---|
| etaStrip | |
| phiStrip | |
Definition at line 24 of file MuonChannelDesign.h.
|
strong |
| MuonGM::MuonChannelDesign::MuonChannelDesign | ( | ) |
Definition at line 6 of file MuonChannelDesign.cxx.
|
inline |
returns the rotation matrix between eta <-> phi layer
Definition at line 78 of file MuonChannelDesign.h.
|
inlineprivate |
Definition at line 168 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: Returns the center on the strip.
Definition at line 476 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: calculate channel length on the given side of the x axis (for MM stereo strips)
Definition at line 373 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: calculate channel length for a given strip number.
Definition at line 383 of file MuonChannelDesign.h.
|
inline |
calculate local channel number, range 1=nstrips like identifiers. Returns -1 if out of range
Definition at line 195 of file MuonChannelDesign.h.
|
inlineprivate |
calculate local channel position for a given channel number
sTGC Wires: return the center of the wire group (not the wire)
MM eta strips (strip numbering starts at 1)
sTGC and default case for eta strips
Definition at line 308 of file MuonChannelDesign.h.
|
inline |
calculate local channel width
Definition at line 391 of file MuonChannelDesign.h.
| void MuonGM::MuonChannelDesign::defineDiamond | ( | double | HalfShortY, |
| double | HalfLongY, | ||
| double | HalfHeight, | ||
| double | ycutout ) |
Definition at line 42 of file MuonChannelDesign.cxx.
| void MuonGM::MuonChannelDesign::defineTrapezoid | ( | double | HalfShortY, |
| double | HalfLongY, | ||
| double | HalfHeight ) |
set the trapezoid dimensions
Definition at line 25 of file MuonChannelDesign.cxx.
| void MuonGM::MuonChannelDesign::defineTrapezoid | ( | double | HalfShortY, |
| double | HalfLongY, | ||
| double | HalfHeight, | ||
| double | sAngle ) |
Definition at line 10 of file MuonChannelDesign.cxx.
|
inline |
distance to channel - residual
Definition at line 178 of file MuonChannelDesign.h.
|
inline |
distance to readout
Definition at line 187 of file MuonChannelDesign.h.
|
inline |
Returns the position of the first strip along the x-axis.
Definition at line 473 of file MuonChannelDesign.h.
|
inline |
|
inlineprivate |
Returns the geometrical strip center.
Definition at line 403 of file MuonChannelDesign.h.
|
inline |
|
inline |
|
inline |
STRIPS ONLY: Returns the left edge of the strip.
Definition at line 483 of file MuonChannelDesign.h.
|
inlineprivate |
Returns the intersection of the strip with the left edge of the trapezoid. Special cases:
Nominal channel position
Return immediately for a strip in the cutout region of QL3
If the channel is a stereo channel && lamda is either smaller 0 or longer then the bottom edge, then it's a routed strip
Definition at line 411 of file MuonChannelDesign.h.
|
inline |
Definition at line 471 of file MuonChannelDesign.h.
|
inline |
Definition at line 472 of file MuonChannelDesign.h.
|
inline |
Returns the number of missing bottom strips.
Definition at line 469 of file MuonChannelDesign.h.
|
inline |
|
inline |
Passivation is applied parallel to.
Definition at line 505 of file MuonChannelDesign.h.
|
inline |
top edge -> left edge bottom edge -> right edge a rectangle with height H parallel to the inclined edges is passivated
Definition at line 499 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY.
Given a local position falling on strip #i, this function expresses it w.r.t. the center of the strip (intersection for stereo strips): relative x within [-0.5, 0.5] (*pitch), relative y within [-1, 1]. These coordinates can be fed to the NswAsBuilt::StripCalculator
Definition at line 279 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: Returns the right edge of the strip.
Definition at line 490 of file MuonChannelDesign.h.
|
inlineprivate |
Returns the right edge of the strip.
Nominal channel position
Return immediately for a strip in the cutout region of QL3
We expect lambda to be positive
If the channel is a stereo channel && lamda is either smaller 0 or longer then the bottom edge, then it's a routed strip
Definition at line 439 of file MuonChannelDesign.h.
| void MuonGM::MuonChannelDesign::setFirstPos | ( | const double | pos | ) |
Set the position of the first strip along the x-axis.
Definition at line 60 of file MuonChannelDesign.cxx.
|
private |
calculate local stereo angle
Definition at line 15 of file MuonChannelDesign.cxx.
|
inline |
|
inline |
calculate local wire group number, range 1=64 like identifiers. Returns -1 if out of range
Definition at line 226 of file MuonChannelDesign.h.
|
inline |
calculate the sTGC wire number. The method can return a value outside the range [1, nch].
Definition at line 256 of file MuonChannelDesign.h.
|
inline |
Definition at line 470 of file MuonChannelDesign.h.
|
inline |
Definition at line 69 of file MuonChannelDesign.h.
| DetType MuonGM::MuonChannelDesign::detType { DetType::Other } |
Definition at line 27 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::firstPitch {0.} |
Definition at line 32 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::groupWidth {0.} |
Definition at line 33 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::inputLength {0.} |
Definition at line 31 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::inputPitch {0.} |
Definition at line 29 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::inputWidth {0.} |
Definition at line 30 of file MuonChannelDesign.h.
| bool MuonGM::MuonChannelDesign::isConvertedFromPhaseII {false} |
Definition at line 42 of file MuonChannelDesign.h.
|
private |
Vector describing the left edge of the trapezoid.
Definition at line 158 of file MuonChannelDesign.h.
|
private |
Bottom left point of the trapezoid.
Definition at line 160 of file MuonChannelDesign.h.
|
private |
Bottom right point of the trapezoid.
Definition at line 162 of file MuonChannelDesign.h.
|
private |
|
private |
Definition at line 145 of file MuonChannelDesign.h.
|
private |
Definition at line 146 of file MuonChannelDesign.h.
|
private |
Definition at line 170 of file MuonChannelDesign.h.
|
private |
Definition at line 173 of file MuonChannelDesign.h.
|
private |
Definition at line 172 of file MuonChannelDesign.h.
|
private |
Definition at line 147 of file MuonChannelDesign.h.
|
private |
|
private |
Direction pointing to the next strips.
Definition at line 152 of file MuonChannelDesign.h.
|
private |
Vector describing the right edge of the trapzoid.
Definition at line 156 of file MuonChannelDesign.h.
|
private |
Top right point of the trapezoid.
Definition at line 164 of file MuonChannelDesign.h.
|
private |
Bottom right point of the trapezoid.
Definition at line 166 of file MuonChannelDesign.h.
|
private |
Definition at line 171 of file MuonChannelDesign.h.
|
private |
Definition at line 148 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::nch {-1} |
Definition at line 28 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::nGroups {0.} |
Definition at line 34 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::nMissedBottomEta {0} |
Definition at line 38 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::nMissedBottomStereo {0} |
Definition at line 40 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::nMissedTopEta {0} |
Definition at line 37 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::nMissedTopStereo {0} |
Definition at line 39 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::thickness {0.} |
Definition at line 36 of file MuonChannelDesign.h.
| int MuonGM::MuonChannelDesign::totalStrips {0} |
Definition at line 41 of file MuonChannelDesign.h.
| ChannelType MuonGM::MuonChannelDesign::type { ChannelType::etaStrip } |
Definition at line 26 of file MuonChannelDesign.h.
| double MuonGM::MuonChannelDesign::wireCutout {0.} |
Definition at line 35 of file MuonChannelDesign.h.