ATLAS Offline Software
|
#include <MuonChannelDesign.h>
Public Types | |
enum | ChannelType { ChannelType::etaStrip, ChannelType::phiStrip } |
enum | DetType { DetType::MM, DetType::STGC, DetType::Other } |
Public Member Functions | |
MuonChannelDesign () | |
double | distanceToReadout (const Amg::Vector2D &pos) const |
distance to readout More... | |
double | distanceToChannel (const Amg::Vector2D &pos, int nChannel) const |
distance to channel - residual More... | |
int | channelNumber (const Amg::Vector2D &pos) const |
calculate local channel number, range 1=nstrips like identifiers. Returns -1 if out of range More... | |
int | wireGroupNumber (const Amg::Vector2D &pos) const |
calculate local wire group number, range 1=64 like identifiers. Returns -1 if out of range More... | |
int | wireNumber (const Amg::Vector2D &pos) const |
calculate the sTGC wire number. The method can return a value outside the range [1, nch]. More... | |
double | channelWidth () const |
calculate local channel width More... | |
void | defineTrapezoid (double HalfShortY, double HalfLongY, double HalfHeight) |
set the trapezoid dimensions More... | |
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 More... | |
double | yCutout () const |
double | hasStereoAngle () const |
returns whether the stereo angle is non-zero More... | |
double | isDiamondShape () const |
returns whether it's a diamond shape (sTGC QL3) More... | |
const | AmgSymMatrix (2) &rotation() const |
returns the rotation matrix between eta <-> phi layer More... | |
double | channelLength (int channel) const |
STRIPS ONLY: calculate channel length for a given strip number. More... | |
double | channelHalfLength (int st, bool left) const |
STRIPS ONLY: calculate channel length on the given side of the x axis (for MM stereo strips) More... | |
double | gasGapThickness () const |
thickness of gas gap More... | |
bool | center (int channel, Amg::Vector2D &pos) const |
STRIPS ONLY: Returns the center on the strip. More... | |
bool | leftEdge (int channel, Amg::Vector2D &pos) const |
STRIPS ONLY: Returns the left edge of the strip. More... | |
bool | rightEdge (int channel, Amg::Vector2D &pos) const |
STRIPS ONLY: Returns the right edge of the strip. More... | |
int | numberOfMissingTopStrips () const |
Returns the number of missing top strips. More... | |
int | numberOfMissingBottomStrips () const |
Returns the number of missing bottom strips. More... | |
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 More... | |
double | passivatedHeight (double passivHeight, bool edge) const |
Passivation is applied parallel to. More... | |
void | setFirstPos (const double pos) |
Set the position of the first strip along the x-axis. More... | |
double | firstPos () const |
Returns the position of the first strip along the x-axis. More... | |
int | positionRelativeToStrip (const Amg::Vector2D &lpos, Amg::Vector2D &rel_pos) const |
STRIPS ONLY. More... | |
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} |
Private Member Functions | |
bool | channelPosition (int channel, Amg::Vector2D &pos) const |
calculate local channel position for a given channel number More... | |
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: More... | |
bool | rightInterSect (int channel, Amg::Vector2D &pos, bool uncapped=false) const |
Returns the right edge of the strip. More... | |
bool | geomCenter (int channel, Amg::Vector2D &pos) const |
Returns the geometrical strip center. More... | |
void | setStereoAngle (double sAngle) |
calculate local stereo angle More... | |
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. More... | |
Amg::Vector2D | m_stereoNormal {1.,0.} |
Direction pointing to the next strips. More... | |
double | m_firstPos {0.} |
Position of the first measurement. More... | |
Amg::Vector2D | m_topEdge {Amg::Vector2D::Zero()} |
Vector describing the right edge of the trapzoid. More... | |
Amg::Vector2D | m_bottomEdge {Amg::Vector2D::Zero()} |
Vector describing the left edge of the trapezoid. More... | |
Amg::Vector2D | m_bottomLeft {Amg::Vector2D::Zero()} |
Bottom left point of the trapezoid. More... | |
Amg::Vector2D | m_bottomRight {Amg::Vector2D::Zero()} |
Bottom right point of the trapezoid. More... | |
Amg::Vector2D | m_topLeft {Amg::Vector2D::Zero()} |
Top right point of the trapezoid. More... | |
Amg::Vector2D | m_topRight {Amg::Vector2D::Zero()} |
Bottom right point of the trapezoid. More... | |
double | m_maxHorSize {0.} |
double | m_xSize {0.} |
double | m_minYSize {0.} |
double | m_maxYSize {0.} |
Definition at line 24 of file MuonChannelDesign.h.
|
strong |
|
strong |
MuonGM::MuonChannelDesign::MuonChannelDesign | ( | ) |
Definition at line 6 of file MuonChannelDesign.cxx.
|
inline |
returns the rotation matrix between eta <-> phi layer
Definition at line 84 of file MuonChannelDesign.h.
|
inlineprivate |
Definition at line 174 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: Returns the center on the strip.
Definition at line 484 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 381 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: calculate channel length for a given strip number.
Definition at line 391 of file MuonChannelDesign.h.
|
inline |
calculate local channel number, range 1=nstrips like identifiers. Returns -1 if out of range
Definition at line 198 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)
Default case for phi wires
MM eta strips (strip numbering starts at 1)
sTGC and default case for eta strips
Definition at line 311 of file MuonChannelDesign.h.
|
inline |
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 | ||
) |
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 181 of file MuonChannelDesign.h.
|
inline |
distance to readout
Definition at line 190 of file MuonChannelDesign.h.
|
inline |
Returns the position of the first strip along the x-axis.
Definition at line 481 of file MuonChannelDesign.h.
|
inline |
thickness of gas gap
Definition at line 93 of file MuonChannelDesign.h.
|
inlineprivate |
|
inline |
returns whether the stereo angle is non-zero
Definition at line 78 of file MuonChannelDesign.h.
|
inline |
|
inline |
STRIPS ONLY: Returns the left edge of the strip.
Definition at line 491 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 419 of file MuonChannelDesign.h.
|
inline |
Definition at line 479 of file MuonChannelDesign.h.
|
inline |
Definition at line 480 of file MuonChannelDesign.h.
|
inline |
|
inline |
|
inline |
Passivation is applied parallel to.
Definition at line 513 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 507 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 282 of file MuonChannelDesign.h.
|
inline |
STRIPS ONLY: Returns the right edge of the strip.
Definition at line 498 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 447 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 |
|
inline |
|
inline |
calculate local wire group number, range 1=64 like identifiers. Returns -1 if out of range
Definition at line 229 of file MuonChannelDesign.h.
|
inline |
calculate the sTGC wire number. The method can return a value outside the range [1, nch].
Definition at line 259 of file MuonChannelDesign.h.
|
inline |
Definition at line 478 of file MuonChannelDesign.h.
|
inline |
Definition at line 75 of file MuonChannelDesign.h.
DetType MuonGM::MuonChannelDesign::detType { DetType::Other } |
Definition at line 33 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::firstPitch {0.} |
Definition at line 38 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::groupWidth {0.} |
Definition at line 39 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::inputLength {0.} |
Definition at line 37 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::inputPitch {0.} |
Definition at line 35 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::inputWidth {0.} |
Definition at line 36 of file MuonChannelDesign.h.
|
private |
Vector describing the left edge of the trapezoid.
Definition at line 164 of file MuonChannelDesign.h.
|
private |
Bottom left point of the trapezoid.
Definition at line 166 of file MuonChannelDesign.h.
|
private |
Bottom right point of the trapezoid.
Definition at line 168 of file MuonChannelDesign.h.
|
private |
Position of the first measurement.
Definition at line 160 of file MuonChannelDesign.h.
|
private |
Definition at line 151 of file MuonChannelDesign.h.
|
private |
Definition at line 152 of file MuonChannelDesign.h.
|
private |
Definition at line 176 of file MuonChannelDesign.h.
|
private |
Definition at line 179 of file MuonChannelDesign.h.
|
private |
Definition at line 178 of file MuonChannelDesign.h.
|
private |
Definition at line 153 of file MuonChannelDesign.h.
|
private |
Direction of the strips.
Definition at line 156 of file MuonChannelDesign.h.
|
private |
Direction pointing to the next strips.
Definition at line 158 of file MuonChannelDesign.h.
|
private |
Vector describing the right edge of the trapzoid.
Definition at line 162 of file MuonChannelDesign.h.
|
private |
Top right point of the trapezoid.
Definition at line 170 of file MuonChannelDesign.h.
|
private |
Bottom right point of the trapezoid.
Definition at line 172 of file MuonChannelDesign.h.
|
private |
Definition at line 177 of file MuonChannelDesign.h.
|
private |
Definition at line 154 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::nch {-1} |
Definition at line 34 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::nGroups {0.} |
Definition at line 40 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::nMissedBottomEta {0} |
Definition at line 44 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::nMissedBottomStereo {0} |
Definition at line 46 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::nMissedTopEta {0} |
Definition at line 43 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::nMissedTopStereo {0} |
Definition at line 45 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::thickness {0.} |
Definition at line 42 of file MuonChannelDesign.h.
int MuonGM::MuonChannelDesign::totalStrips {0} |
Definition at line 47 of file MuonChannelDesign.h.
ChannelType MuonGM::MuonChannelDesign::type { ChannelType::etaStrip } |
Definition at line 32 of file MuonChannelDesign.h.
double MuonGM::MuonChannelDesign::wireCutout {0.} |
Definition at line 41 of file MuonChannelDesign.h.