|
ATLAS Offline Software
|
#include <PadDesign.h>
|
| PadDesign ()=default |
|
bool | operator< (const PadDesign &other) const |
| set sorting operator More...
|
|
void | definePadRow (const double firstPadPhiDiv, const int numPadPhi, const double anglePadPhi, const int padPhiShift) |
| Defines the Phi direction layout of the pad detector by specifing the starting angle w.r.t. More...
|
|
void | definePadColumn (const double firstPadHeight, const int numPadEta, const double padHeight, const int maxPadEta=18) |
| Defines the Eta direction layout of the pad detector by specifing the height of the first pad in millimeters, the number of pads in the eta direction, height of the pads other than the first row, and finally, the maximum number of pads accomodated in a pad column which is 18, hardcoded. More...
|
|
int | numPads () const |
| Returns the total number of pads in a layer. More...
|
|
double | firstPadPhiDiv () const |
| Returns the angle of the first pad outer edge w.r.t. the gasGap center from the beamline. More...
|
|
int | numPadPhi () const |
| Returns the number of pads in the Phi direction in the given gasGap layer. More...
|
|
double | anglePadPhi () const |
| Returns the angular pitch of the pads in the phi direction. More...
|
|
double | padPhiShift () const |
| Returns the staggering shift of inner pad edges in the phi direction. More...
|
|
double | firstPadHeight () const |
| Returns the height of the pads that are adjacent to the bottom edge of the trapezoid active area. More...
|
|
int | numPadEta () const |
| Returns the number of pads in the eta direction in the given layer. More...
|
|
double | padHeight () const |
| Returns the height of all the pads that are not adjacent to the bottom edge of the trapezoid active area. More...
|
|
int | maxPadEta () const |
| Returns the maximum number of pads that can be contained in a column of a pad. Used to match the pad numbering scheme. More...
|
|
int | padNumber (const int channel) const |
| Returns the pad number in the conventional pad numbering scheme from the sequential channel number. More...
|
|
std::pair< int, int > | padEtaPhi (const int channel) const |
| Returns a pair of Eta and Phi index for the given sequential channel number. More...
|
|
int | padEta (const int channel) const |
| Returns the Eta index of the pad for the given sequential channel number. More...
|
|
int | padPhi (const int channel) const |
| Returns the Phi index of the pad for the given sequential channel number. More...
|
|
void | defineBeamlineRadius (const double radius) |
| Extracting the distance from gasGap center to beamline from the local to global transformation of the padLayer. More...
|
|
double | beamlineRadius () const |
| Returns the distance between the gasGap center and the beamline. More...
|
|
localCornerArray | padCorners (const int channel) const |
| Returns an array of local pad corner positions given the sequential pad channel or the Eta/Phi Id. More...
|
|
localCornerArray | padCorners (const std::pair< int, int > &padEtaPhi) const |
|
Amg::Vector2D | stripPosition (int stripNum) const override final |
| Override from stripDesign. This function will give the center of the pad by taking the sequential channel number as input. More...
|
|
std::pair< int, int > | channelNumber (const Amg::Vector2D &hitPos) const |
| Function to retrieve the pad eta and phi given a local position coordinate. More...
|
|
double | maxActiveX (const double locY) const |
| Function gives the maximum active area length available in the local x for the given hit local y. More...
|
|
double | sectorAngle () const |
| Function gives the angular width of the sector. More...
|
|
double | stripPitch () const |
| Distance between two adjacent strips. More...
|
|
double | stripWidth () const |
| Width of a strip. More...
|
|
virtual int | numStrips () const |
| Number of strips on the panel. More...
|
|
void | defineStripLayout (Amg::Vector2D &&posFirst, const double stripPitch, const double stripWidth, const int numStrips, const int numFirst=1) |
| Defines the layout of the strip detector by specifing the position of the first strip w.r.t. More...
|
|
double | halfWidth () const |
| Returns the half height of the strip panel. More...
|
|
double | shortHalfHeight () const |
| Returns the shorter half height of the panel. More...
|
|
double | longHalfHeight () const |
| Returns the longer half height of the panel. More...
|
|
bool | hasStereoAngle () const |
| Returns whether a stereo angle is defined. More...
|
|
double | stereoAngle () const |
| Returns the value of the stereo angle. More...
|
|
bool | isFlipped () const |
| Returns whether the trapezoid is flipped. More...
|
|
void | defineTrapezoid (double HalfShortY, double HalfLongY, double HalfHeight) |
| Defines the edges of the trapezoid. More...
|
|
void | defineTrapezoid (double HalfShortY, double HalfLongY, double HalfHeight, double sAngle) |
| Defines the edges of the trapezoid with stereo angle. More...
|
|
void | flipTrapezoid () |
| Flips the edges of the trapezoid boundaries by 90 degrees clockwise. More...
|
|
double | distanceToStrip (const Amg::Vector2D &pos, int strip) const |
| Returns the distance to the strip center along x. More...
|
|
virtual int | stripNumber (const Amg::Vector2D &pos) const |
| Calculates the number of the strip whose center is closest to the given point. More...
|
|
int | firstStripNumber () const |
| Returns the number of the first strip. More...
|
|
CheckVector2D | leftEdge (int stripNumb) const |
| Returns the left edge of the strip (Global numbering scheme) More...
|
|
CheckVector2D | rightEdge (int stripNumb) const |
| Returns the right edge of the strip (Global numbering scheme) More...
|
|
CheckVector2D | center (int stripNumb) const |
| Returns the bisector of the strip (Global numbering scheme) More...
|
|
bool | operator< (const StripDesign &other) const |
| Odering operator. More...
|
|
virtual double | stripLength (int stripNumb) const |
| Returns length of the strip. More...
|
|
bool | insideTrapezoid (const Amg::Vector2D &extPos) const |
| Checks whether an external point is inside the trapezoidal area. More...
|
|
const Amg::Vector2D & | cornerBotLeft () const |
| Returns the bottom left corner of the trapezoid. More...
|
|
const Amg::Vector2D & | cornerBotRight () const |
| Returns the bottom right corner of the trapezoid. More...
|
|
const Amg::Vector2D & | cornerTopLeft () const |
| Returns the top left corner of the trapezoid. More...
|
|
const Amg::Vector2D & | cornerTopRight () const |
| Returns the top right corner of the trapezoid. More...
|
|
const Amg::Vector2D & | edgeDirBottom () const |
| Returns the unit vector pointing from the bottom left -> right corner. More...
|
|
const Amg::Vector2D & | edgeDirTop () const |
| Returns the unit vector pointing from the top left -> right corner. More...
|
|
const Amg::Vector2D & | edgeDirLeft () const |
| Returns the unit vector pointing from the left bottom -> top corner. More...
|
|
const Amg::Vector2D & | edgeDirRight () const |
| Returns the unit vector pointing from the right bottom -> top corner. More...
|
|
double | lenTopEdge () const |
| Length of the the edge from top left -> top right. More...
|
|
double | lenLeftEdge () const |
| Length of the edge from bottom left -> top left. More...
|
|
double | lenBottomEdge () const |
| Length of the edge from bottom left -> bottom right. More...
|
|
double | lenRightEdge () const |
| Length of the dge from bottom right -> top right. More...
|
|
const Amg::Vector2D & | stripNormal () const |
| Vector pointing to the next strip. More...
|
|
const Amg::Vector2D & | stripDir () const |
| Vector pointing along the strip. More...
|
|
const Amg::Vector2D & | firstStripPos () const |
| Vector indicating the first strip position. More...
|
|
void | defineDiamond (double HalfShortY, double HalfLongY, double HalfHeight, double yCutout) |
| Defines the edges of the sTGC diamond L3 sector. More...
|
|
double | yCutout () const |
| Returns the cutout of the diamond. More...
|
|
bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More...
|
|
MsgStream & | msg () const |
| The standard message stream. More...
|
|
MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More...
|
|
void | setLevel (MSG::Level lvl) |
| Change the current logging level. More...
|
|
Definition at line 24 of file PadDesign.h.
◆ CheckVector2D
◆ localCornerArray
Defining an array of four vectors to store the pad corner position in the order of the enum defined below.
Definition at line 77 of file PadDesign.h.
◆ padCorners
Enumerator |
---|
botLeft | |
botRight | |
topLeft | |
topRight | |
Definition at line 78 of file PadDesign.h.
◆ PadDesign()
MuonGMR4::PadDesign::PadDesign |
( |
| ) |
|
|
default |
◆ AmgSymMatrix() [1/2]
MuonGMR4::StripDesign::AmgSymMatrix |
( |
2 |
| ) |
|
|
inlineprivateinherited |
◆ AmgSymMatrix() [2/2]
MuonGMR4::StripDesign::AmgSymMatrix |
( |
2 |
| ) |
|
|
inlineprivateinherited |
Matrixt to translate from stereo -> nominal frame.
Definition at line 177 of file StripDesign.h.
◆ anglePadPhi()
double MuonGMR4::PadDesign::anglePadPhi |
( |
| ) |
const |
Returns the angular pitch of the pads in the phi direction.
◆ beamlineRadius()
double MuonGMR4::PadDesign::beamlineRadius |
( |
| ) |
const |
Returns the distance between the gasGap center and the beamline.
◆ center()
CheckVector2D MuonGMR4::StripDesign::center |
( |
int |
stripNumb | ) |
const |
|
inherited |
Returns the bisector of the strip (Global numbering scheme)
◆ channelNumber()
std::pair<int, int> MuonGMR4::PadDesign::channelNumber |
( |
const Amg::Vector2D & |
hitPos | ) |
const |
Function to retrieve the pad eta and phi given a local position coordinate.
◆ cornerBotLeft()
Returns the bottom left corner of the trapezoid.
◆ cornerBotRight()
Returns the bottom right corner of the trapezoid.
◆ cornerTopLeft()
Returns the top left corner of the trapezoid.
◆ cornerTopRight()
Returns the top right corner of the trapezoid.
◆ defineBeamlineRadius()
void MuonGMR4::PadDesign::defineBeamlineRadius |
( |
const double |
radius | ) |
|
Extracting the distance from gasGap center to beamline from the local to global transformation of the padLayer.
Definition at line 60 of file PadDesign.cxx.
◆ defineDiamond()
void MuonGMR4::StripDesign::defineDiamond |
( |
double |
HalfShortY, |
|
|
double |
HalfLongY, |
|
|
double |
HalfHeight, |
|
|
double |
yCutout |
|
) |
| |
|
inherited |
Defines the edges of the sTGC diamond L3 sector.
define a trapezoid region to preserve the functionality of intersect functions in StripDesign class
Definition at line 82 of file StripDesign.cxx.
85 double HalfLongYuncut = HalfLongY +
yCutout * (HalfLongY - HalfShortY)/(2*HalfHeight -
yCutout);
◆ definePadColumn()
void MuonGMR4::PadDesign::definePadColumn |
( |
const double |
firstPadHeight, |
|
|
const int |
numPadEta, |
|
|
const double |
padHeight, |
|
|
const int |
maxPadEta = 18 |
|
) |
| |
Defines the Eta direction layout of the pad detector by specifing the height of the first pad in millimeters, the number of pads in the eta direction, height of the pads other than the first row, and finally, the maximum number of pads accomodated in a pad column which is 18, hardcoded.
The numbering for the next pad column will start with a factor of 19, regardless of the number of pads in the previous column.
Definition at line 49 of file PadDesign.cxx.
◆ definePadRow()
void MuonGMR4::PadDesign::definePadRow |
( |
const double |
firstPadPhiDiv, |
|
|
const int |
numPadPhi, |
|
|
const double |
anglePadPhi, |
|
|
const int |
padPhiShift |
|
) |
| |
Defines the Phi direction layout of the pad detector by specifing the starting angle w.r.t.
the layer center, the number of pads in the phi direction, angular pitch to the next pad, and finally, the staggering in mm for the inner edges of the pads. Note: the outer edges of
the pads with either phi = 1, or phi = numPadPhi are fixed, they do not stagger.
Definition at line 38 of file PadDesign.cxx.
◆ defineStripLayout()
void MuonGMR4::StripDesign::defineStripLayout |
( |
Amg::Vector2D && |
posFirst, |
|
|
const double |
stripPitch, |
|
|
const double |
stripWidth, |
|
|
const int |
numStrips, |
|
|
const int |
numFirst = 1 |
|
) |
| |
|
inherited |
Defines the layout of the strip detector by specifing the position of the first strip w.r.t.
the layer center, the pitch to the next strip, the corresponding width of each strip, the total number of strips and finally the number of the first strip in the global numbering scheme
Definition at line 107 of file StripDesign.cxx.
◆ defineTrapezoid() [1/2]
void MuonGMR4::StripDesign::defineTrapezoid |
( |
double |
HalfShortY, |
|
|
double |
HalfLongY, |
|
|
double |
HalfHeight |
|
) |
| |
|
inherited |
Defines the edges of the trapezoid.
Definition at line 69 of file StripDesign.cxx.
78 m_lenSlopEdge = std::hypot(2.*HalfHeight, HalfShortY - HalfLongY);
◆ defineTrapezoid() [2/2]
void MuonGMR4::StripDesign::defineTrapezoid |
( |
double |
HalfShortY, |
|
|
double |
HalfLongY, |
|
|
double |
HalfHeight, |
|
|
double |
sAngle |
|
) |
| |
|
inherited |
Defines the edges of the trapezoid with stereo angle.
The stereo angle is defined as the angle going from the nominal scheme to the stereo scheme
Definition at line 54 of file StripDesign.cxx.
◆ distanceToStrip()
double MuonGMR4::StripDesign::distanceToStrip |
( |
const Amg::Vector2D & |
pos, |
|
|
int |
strip |
|
) |
| const |
|
inherited |
Returns the distance to the strip center along x.
◆ edgeDirBottom()
Returns the unit vector pointing from the bottom left -> right corner.
◆ edgeDirLeft()
Returns the unit vector pointing from the left bottom -> top corner.
◆ edgeDirRight()
Returns the unit vector pointing from the right bottom -> top corner.
◆ edgeDirTop()
Returns the unit vector pointing from the top left -> right corner.
◆ firstPadHeight()
double MuonGMR4::PadDesign::firstPadHeight |
( |
| ) |
const |
Returns the height of the pads that are adjacent to the bottom edge of the trapezoid active area.
◆ firstPadPhiDiv()
double MuonGMR4::PadDesign::firstPadPhiDiv |
( |
| ) |
const |
Returns the angle of the first pad outer edge w.r.t. the gasGap center from the beamline.
◆ firstStripNumber()
int MuonGMR4::StripDesign::firstStripNumber |
( |
| ) |
const |
|
inherited |
Returns the number of the first strip.
◆ firstStripPos()
Vector indicating the first strip position.
◆ flipTrapezoid()
void MuonGMR4::StripDesign::flipTrapezoid |
( |
| ) |
|
|
inherited |
Flips the edges of the trapezoid boundaries by 90 degrees clockwise.
yCutOut defined for the sTGC detectors. Move the edges to the uncut trapezoid version Deal with the cutOut in the intersect
Definition at line 91 of file StripDesign.cxx.
93 ATH_MSG_WARNING(
"It's impossible to flip a trapezoid twice. Swap short and long lengths");
◆ halfWidth()
double MuonGMR4::StripDesign::halfWidth |
( |
| ) |
const |
|
inherited |
Returns the half height of the strip panel.
◆ hasStereoAngle()
bool MuonGMR4::StripDesign::hasStereoAngle |
( |
| ) |
const |
|
inherited |
Returns whether a stereo angle is defined.
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ insideBoundaries()
Checks wheather the internal point is inside hte trapezoidal area.
◆ insideTrapezoid()
Checks whether an external point is inside the trapezoidal area.
◆ isFlipped()
bool MuonGMR4::StripDesign::isFlipped |
( |
| ) |
const |
|
inherited |
Returns whether the trapezoid is flipped.
◆ leftEdge()
CheckVector2D MuonGMR4::StripDesign::leftEdge |
( |
int |
stripNumb | ) |
const |
|
inherited |
Returns the left edge of the strip (Global numbering scheme)
◆ leftInterSect() [1/2]
◆ leftInterSect() [2/2]
virtual CheckVector2D MuonGMR4::StripDesign::leftInterSect |
( |
int |
stripNum, |
|
|
bool |
uncapped = false |
|
) |
| const |
|
protectedvirtualinherited |
Returns the intersection of a given strip with the left or right edge of the trapezoid If uncapped is set to false and the strip is a routed strip, then the intersection onto the corresponding bottom / top edges are returned.
Reimplemented in MuonGMR4::RadialStripDesign.
◆ lenBottomEdge()
double MuonGMR4::StripDesign::lenBottomEdge |
( |
| ) |
const |
|
inherited |
Length of the edge from bottom left -> bottom right.
◆ lenLeftEdge()
double MuonGMR4::StripDesign::lenLeftEdge |
( |
| ) |
const |
|
inherited |
Length of the edge from bottom left -> top left.
◆ lenRightEdge()
double MuonGMR4::StripDesign::lenRightEdge |
( |
| ) |
const |
|
inherited |
Length of the dge from bottom right -> top right.
◆ lenTopEdge()
double MuonGMR4::StripDesign::lenTopEdge |
( |
| ) |
const |
|
inherited |
Length of the the edge from top left -> top right.
◆ longHalfHeight()
double MuonGMR4::StripDesign::longHalfHeight |
( |
| ) |
const |
|
inherited |
Returns the longer half height of the panel.
◆ maxActiveX()
double MuonGMR4::PadDesign::maxActiveX |
( |
const double |
locY | ) |
const |
Function gives the maximum active area length available in the local x for the given hit local y.
◆ maxPadEta()
int MuonGMR4::PadDesign::maxPadEta |
( |
| ) |
const |
Returns the maximum number of pads that can be contained in a column of a pad. Used to match the pad numbering scheme.
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ numPadEta()
int MuonGMR4::PadDesign::numPadEta |
( |
| ) |
const |
Returns the number of pads in the eta direction in the given layer.
◆ numPadPhi()
int MuonGMR4::PadDesign::numPadPhi |
( |
| ) |
const |
Returns the number of pads in the Phi direction in the given gasGap layer.
◆ numPads()
int MuonGMR4::PadDesign::numPads |
( |
| ) |
const |
Returns the total number of pads in a layer.
◆ numStrips()
virtual int MuonGMR4::StripDesign::numStrips |
( |
| ) |
const |
|
virtualinherited |
◆ operator<() [1/2]
◆ operator<() [2/2]
Odering operator.
Definition at line 26 of file StripDesign.cxx.
36 static const GeoTrf::TransformSorter trfSorter{};
◆ padCorners() [1/2]
Returns an array of local pad corner positions given the sequential pad channel or the Eta/Phi Id.
◆ padCorners() [2/2]
Variables to store the distance of the two sides of the pad w.r.t. the chamber origin
Variables to store the distance of the four points of the pad in x direction w.r.t. the chamber origin
Defining the top and the bottom edge of the active area depending on whether its a diamond or a trapezoid
Calculating the distance of top and bottom sides of the pad w.r.t. the chamber origin
Caculating the angular positions of the left and the right edges
Defining tangent of the phi angles calculated above
Calculating distance from the beamline to the bottom and top edges of the pad
Calculating the distance of the four corners of the pad in x direction w.r.t. the chamber origin
Calculating the cosine of the angular positions to calculate the staggering in x direction w.r.t. the chamber origin
Adjusting the four corners of the pads for staggering in x direction w.r.t. the chamber origin
Outer edges of the trapezoid do not undergo staggering. Hence the if conditions.
Adjusting the outer edges of the pads in diamond chambers (QL3) There are pads in the outer columns that may contain five vertices when the topEdge of the pad is above the gasGap origin and the bottom edge is below. This is only the case when yCutout is nonzero i.e. L3 sector. In our logic, we are keeping only four corners for all the pads and essentially ignoring the fifth vertex for these specific cases because the technical drawings suggest that the active ignored is very small and the effect on reconstruction and digitization will be negligible.
Swapping the edges and the points in a mirror fashion if our initial assumptions about the left/Right and top/Bottom are false.
Definition at line 64 of file PadDesign.cxx.
72 double botLeftPoint{0.};
73 double botRightPoint{0.};
74 double topLeftPoint{0.};
75 double topRightPoint{0.};
104 botLeftPoint = -botBase * tanLeft;
105 botRightPoint = -botBase * tanRight;
106 topLeftPoint = -topBase * tanLeft;
107 topRightPoint = -topBase * tanRight;
109 double cosRight = botBase / std::hypot(botRightPoint, botBase);
110 double cosLeft = botBase / std::hypot(botLeftPoint, botBase);
146 if (botEdge > topEdge) {
150 if (botLeftPoint > botRightPoint) {
154 if (topLeftPoint > topRightPoint) {
◆ padEta()
int MuonGMR4::PadDesign::padEta |
( |
const int |
channel | ) |
const |
Returns the Eta index of the pad for the given sequential channel number.
◆ padEtaPhi()
std::pair<int, int> MuonGMR4::PadDesign::padEtaPhi |
( |
const int |
channel | ) |
const |
Returns a pair of Eta and Phi index for the given sequential channel number.
◆ padHeight()
double MuonGMR4::PadDesign::padHeight |
( |
| ) |
const |
Returns the height of all the pads that are not adjacent to the bottom edge of the trapezoid active area.
◆ padNumber()
int MuonGMR4::PadDesign::padNumber |
( |
const int |
channel | ) |
const |
Returns the pad number in the conventional pad numbering scheme from the sequential channel number.
◆ padPhi()
int MuonGMR4::PadDesign::padPhi |
( |
const int |
channel | ) |
const |
Returns the Phi index of the pad for the given sequential channel number.
◆ padPhiShift()
double MuonGMR4::PadDesign::padPhiShift |
( |
| ) |
const |
Returns the staggering shift of inner pad edges in the phi direction.
◆ print()
void MuonGMR4::PadDesign::print |
( |
std::ostream & |
ostr | ) |
const |
|
finaloverrideprivatevirtual |
◆ resetDirCache()
void MuonGMR4::StripDesign::resetDirCache |
( |
| ) |
|
|
privateinherited |
◆ rightEdge()
CheckVector2D MuonGMR4::StripDesign::rightEdge |
( |
int |
stripNumb | ) |
const |
|
inherited |
Returns the right edge of the strip (Global numbering scheme)
◆ rightInterSect() [1/2]
◆ rightInterSect() [2/2]
virtual CheckVector2D MuonGMR4::StripDesign::rightInterSect |
( |
int |
stripNum, |
|
|
bool |
uncapped = false |
|
) |
| const |
|
protectedvirtualinherited |
◆ sectorAngle()
double MuonGMR4::PadDesign::sectorAngle |
( |
| ) |
const |
Function gives the angular width of the sector.
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setStereoAngle()
void MuonGMR4::StripDesign::setStereoAngle |
( |
double |
stereo | ) |
|
|
privateinherited |
Definition at line 59 of file StripDesign.cxx.
60 if (std::abs(sAngle) < std::numeric_limits<float>::epsilon())
return;
63 m_etaToStereo = Eigen::Rotation2D{sAngle};
64 m_stereoToEta = Eigen::Rotation2D{-sAngle};
◆ shortHalfHeight()
double MuonGMR4::StripDesign::shortHalfHeight |
( |
| ) |
const |
|
inherited |
Returns the shorter half height of the panel.
◆ stereoAngle()
double MuonGMR4::StripDesign::stereoAngle |
( |
| ) |
const |
|
inherited |
Returns the value of the stereo angle.
◆ stripCenter()
CheckVector2D MuonGMR4::StripDesign::stripCenter |
( |
int |
stripNum | ) |
const |
|
protectedinherited |
Returns the geometrical center of a given strip.
◆ stripDir()
Vector pointing along the strip.
◆ stripLength()
virtual double MuonGMR4::StripDesign::stripLength |
( |
int |
stripNumb | ) |
const |
|
virtualinherited |
◆ stripNormal()
Vector pointing to the next strip.
◆ stripNumber()
◆ stripPitch()
double MuonGMR4::StripDesign::stripPitch |
( |
| ) |
const |
|
inherited |
Distance between two adjacent strips.
◆ stripPosition()
Amg::Vector2D MuonGMR4::PadDesign::stripPosition |
( |
int |
stripNum | ) |
const |
|
finaloverridevirtual |
Override from stripDesign. This function will give the center of the pad by taking the sequential channel number as input.
Reimplemented from MuonGMR4::StripDesign.
◆ stripWidth()
double MuonGMR4::StripDesign::stripWidth |
( |
| ) |
const |
|
inherited |
◆ yCutout()
double MuonGMR4::StripDesign::yCutout |
( |
| ) |
const |
|
inherited |
Returns the cutout of the diamond.
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_anglePadPhi
double MuonGMR4::PadDesign::m_anglePadPhi {0.} |
|
private |
Angular pitch of the pads in the phi direction.
Definition at line 98 of file PadDesign.h.
◆ m_bottomLeft
Amg::Vector2D MuonGMR4::StripDesign::m_bottomLeft {Amg::Vector2D::Zero()} |
|
privateinherited |
Bottom left point of the trapezoid.
Definition at line 179 of file StripDesign.h.
◆ m_bottomRight
Amg::Vector2D MuonGMR4::StripDesign::m_bottomRight {Amg::Vector2D::Zero()} |
|
privateinherited |
Bottom right point of the trapezoid.
Definition at line 185 of file StripDesign.h.
◆ m_channelShift
int MuonGMR4::StripDesign::m_channelShift {1} |
|
privateinherited |
Shift between the 0-th readout channel and the first strip described by the panel.
Definition at line 152 of file StripDesign.h.
◆ m_cutLongEdge
double MuonGMR4::StripDesign::m_cutLongEdge {0.} |
|
privateinherited |
Lenght of the line segment that's cut from the long edge to make the trapezoid diamond shaped.
Definition at line 206 of file StripDesign.h.
◆ m_dirBotEdge
Vector describing the bottom edge of the trapezoid (bottom left -> bottom right)
Definition at line 190 of file StripDesign.h.
◆ m_dirLeftEdge
Vector describing the left adge of the trapezoid (bottom left -> top left)
Definition at line 192 of file StripDesign.h.
◆ m_dirRightEdge
Vector describing the right edge of the trapezoid (bottom right -> top right)
Definition at line 194 of file StripDesign.h.
◆ m_dirTopEdge
Vector describing the top edge of the trapzoid (top left -> top right)
Definition at line 188 of file StripDesign.h.
◆ m_firstPadHeight
double MuonGMR4::PadDesign::m_firstPadHeight {0.} |
|
private |
Height of the pads that are adjacent to the bottom edge of the trapezoid active area.
Definition at line 102 of file PadDesign.h.
◆ m_firstPadPhiDiv
double MuonGMR4::PadDesign::m_firstPadPhiDiv {0.} |
|
private |
Angle of the first pad outer edge w.r.t. the gasGap center from the beamline.
Definition at line 94 of file PadDesign.h.
◆ m_firstStripPos
Amg::Vector2D MuonGMR4::StripDesign::m_firstStripPos {Amg::Vector2D::Zero()} |
|
privateinherited |
◆ m_halfX
double MuonGMR4::StripDesign::m_halfX {0.} |
|
privateinherited |
◆ m_hasStereo
bool MuonGMR4::StripDesign::m_hasStereo {false} |
|
privateinherited |
Flag telling whether the strip design has a stereo angle or not.
Definition at line 170 of file StripDesign.h.
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_isFlipped
bool MuonGMR4::StripDesign::m_isFlipped {false} |
|
privateinherited |
Flag telling whether the trapezoid has been flipped.
Definition at line 168 of file StripDesign.h.
◆ m_largeSectorAngle
constexpr double MuonGMR4::PadDesign::m_largeSectorAngle {28.} |
|
staticconstexprprivate |
Large sector opening angle.
Definition at line 112 of file PadDesign.h.
◆ m_lenSlopEdge
double MuonGMR4::StripDesign::m_lenSlopEdge {0.} |
|
privateinherited |
Length of the edge connecting the short with the long egde.
Definition at line 196 of file StripDesign.h.
◆ m_longHalfY
double MuonGMR4::StripDesign::m_longHalfY {0.} |
|
privateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_maxPadEta
int MuonGMR4::PadDesign::m_maxPadEta {18} |
|
private |
The maximum number of pads that can be contained in a column of a pad. Used to match the pad numbering scheme.
Definition at line 108 of file PadDesign.h.
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_numPadEta
int MuonGMR4::PadDesign::m_numPadEta {0} |
|
private |
Number of pads in the eta direction in the given layer.
Definition at line 104 of file PadDesign.h.
◆ m_numPadPhi
int MuonGMR4::PadDesign::m_numPadPhi {0} |
|
private |
Number of pads in the Phi direction in the given gasGap layer.
Definition at line 96 of file PadDesign.h.
◆ m_numStrips
int MuonGMR4::StripDesign::m_numStrips {0} |
|
privateinherited |
◆ m_padHeight
double MuonGMR4::PadDesign::m_padHeight {0.} |
|
private |
Height of all the pads that are not adjacent to the bottom edge of the trapezoid active area.
Definition at line 106 of file PadDesign.h.
◆ m_padPhiShift
double MuonGMR4::PadDesign::m_padPhiShift {0.} |
|
private |
The staggering shift of inner pad edges in the phi direction.
Definition at line 100 of file PadDesign.h.
◆ m_radius
double MuonGMR4::PadDesign::m_radius {0.} |
|
private |
Stores the beamline radius extracted from the local to global transformation.
Definition at line 110 of file PadDesign.h.
◆ m_shortHalfY
double MuonGMR4::StripDesign::m_shortHalfY {0.} |
|
privateinherited |
◆ m_smallSectorAngle
constexpr double MuonGMR4::PadDesign::m_smallSectorAngle {17.} |
|
staticconstexprprivate |
Small sector opening angle.
Definition at line 114 of file PadDesign.h.
◆ m_stereoAngle
double MuonGMR4::StripDesign::m_stereoAngle {0.} |
|
privateinherited |
◆ m_stripDir
Amg::Vector2D MuonGMR4::StripDesign::m_stripDir {Amg::Vector2D::UnitY()} |
|
privateinherited |
Orientiation of the strips along the panel.
Definition at line 163 of file StripDesign.h.
◆ m_stripNormal
Amg::Vector2D MuonGMR4::StripDesign::m_stripNormal {Amg::Vector2D::UnitX()} |
|
privateinherited |
Vector pointing from strip N to the next strip.
Definition at line 165 of file StripDesign.h.
◆ m_stripPitch
double MuonGMR4::StripDesign::m_stripPitch {0.} |
|
privateinherited |
Distance between 2 adjacent strip centers.
Definition at line 156 of file StripDesign.h.
◆ m_stripWidth
double MuonGMR4::StripDesign::m_stripWidth {0.} |
|
privateinherited |
◆ m_topLeft
Amg::Vector2D MuonGMR4::StripDesign::m_topLeft {Amg::Vector2D::Zero()} |
|
privateinherited |
◆ m_topRight
Amg::Vector2D MuonGMR4::StripDesign::m_topRight {Amg::Vector2D::Zero()} |
|
privateinherited |
Bottom right point of the trapezoid.
Definition at line 183 of file StripDesign.h.
◆ m_yCutout
double MuonGMR4::StripDesign::m_yCutout {0.} |
|
privateinherited |
Stores the diamond cutout length from the SQLite DB file.
Definition at line 203 of file StripDesign.h.
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
const Amg::Vector2D & cornerTopLeft() const
Returns the top left corner of the trapezoid.
double padHeight() const
Returns the height of all the pads that are not adjacent to the bottom edge of the trapezoid active a...
double m_cutLongEdge
Lenght of the line segment that's cut from the long edge to make the trapezoid diamond shaped.
int maxPadEta() const
Returns the maximum number of pads that can be contained in a column of a pad. Used to match the pad ...
double beamlineRadius() const
Returns the distance between the gasGap center and the beamline.
double stereoAngle() const
Returns the value of the stereo angle.
double m_lenSlopEdge
Length of the edge connecting the short with the long egde.
int m_channelShift
Shift between the 0-th readout channel and the first strip described by the panel.
bool isFlipped() const
Returns whether the trapezoid is flipped.
int m_maxPadEta
The maximum number of pads that can be contained in a column of a pad. Used to match the pad numberin...
double m_shortHalfY
Trapezoid dimensions.
const Amg::Vector2D & cornerBotLeft() const
Returns the bottom left corner of the trapezoid.
void setStereoAngle(double stereo)
double m_stereoAngle
Stereo angle of the strip design.
Eigen::Matrix< double, 2, 1 > Vector2D
double m_padHeight
Height of all the pads that are not adjacent to the bottom edge of the trapezoid active area.
int padEta(const int channel) const
Returns the Eta index of the pad for the given sequential channel number.
virtual int numStrips() const
Number of strips on the panel.
CxxUtils::CachedUniquePtr< Amg::Vector2D > m_dirRightEdge
Vector describing the right edge of the trapezoid (bottom right -> top right)
int m_numPadPhi
Number of pads in the Phi direction in the given gasGap layer.
Amg::Vector2D m_stripNormal
Vector pointing from strip N to the next strip.
#define ATH_MSG_VERBOSE(x)
Amg::Vector2D m_topLeft
Top right point of the trapezoid.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
double m_stripPitch
Distance between 2 adjacent strip centers.
double longHalfHeight() const
Returns the longer half height of the panel.
IMessageSvc * getMessageSvc(bool quiet=false)
double firstPadHeight() const
Returns the height of the pads that are adjacent to the bottom edge of the trapezoid active area.
Amg::Vector2D m_bottomRight
Bottom right point of the trapezoid.
double shortHalfHeight() const
Returns the shorter half height of the panel.
#define ORDER_PROP(PROP)
Helper macro to facilliate the ordering.
Amg::Vector2D m_firstStripPos
First strip position.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
CxxUtils::CachedUniquePtr< Amg::Vector2D > m_dirLeftEdge
Vector describing the left adge of the trapezoid (bottom left -> top left)
std::pair< int, int > padEtaPhi(const int channel) const
Returns a pair of Eta and Phi index for the given sequential channel number.
int numPadPhi() const
Returns the number of pads in the Phi direction in the given gasGap layer.
double yCutout() const
Returns the cutout of the diamond.
double anglePadPhi() const
Returns the angular pitch of the pads in the phi direction.
double m_padPhiShift
The staggering shift of inner pad edges in the phi direction.
double m_yCutout
Stores the diamond cutout length from the SQLite DB file.
double stripWidth() const
Width of a strip.
void defineTrapezoid(double HalfShortY, double HalfLongY, double HalfHeight)
Defines the edges of the trapezoid.
double padPhiShift() const
Returns the staggering shift of inner pad edges in the phi direction.
int firstStripNumber() const
Returns the number of the first strip.
MsgStream & msg() const
The standard message stream.
const Amg::Vector2D & cornerTopRight() const
Returns the top right corner of the trapezoid.
int numPadEta() const
Returns the number of pads in the eta direction in the given layer.
std::array< Amg::Vector2D, 4 > localCornerArray
Defining an array of four vectors to store the pad corner position in the order of the enum defined b...
CxxUtils::CachedUniquePtr< Amg::Vector2D > m_dirBotEdge
Vector describing the bottom edge of the trapezoid (bottom left -> bottom right)
bool m_hasStereo
Flag telling whether the strip design has a stereo angle or not.
double m_stripWidth
Width of each strip line.
double m_anglePadPhi
Angular pitch of the pads in the phi direction.
AmgSymMatrix(2) m_etaToStereo
Matrix to translate from nominal -> stereo frame.
double halfWidth() const
Returns the half height of the strip panel.
bool m_isFlipped
Flag telling whether the trapezoid has been flipped.
CxxUtils::CachedUniquePtr< Amg::Vector2D > m_dirTopEdge
Vector describing the top edge of the trapzoid (top left -> top right)
const Amg::Vector2D & cornerBotRight() const
Returns the bottom right corner of the trapezoid.
void resetDirCache()
Resets the cache of the directions.
Amg::Vector2D m_bottomLeft
Bottom left point of the trapezoid.
#define ATH_MSG_WARNING(x)
Amg::Vector2D m_stripDir
Orientiation of the strips along the panel.
double m_radius
Stores the beamline radius extracted from the local to global transformation.
std::string m_nm
Message source name.
bool hasStereoAngle() const
Returns whether a stereo angle is defined.
#define ORDER_PROP(PROP)
Helper macro to facilliate the ordering.
double stripPitch() const
Distance between two adjacent strips.
Amg::Vector2D stripPosition(int stripNum) const override final
Override from stripDesign. This function will give the center of the pad by taking the sequential cha...
void initMessaging() const
Initialize our message level and MessageSvc.
double m_firstPadHeight
Height of the pads that are adjacent to the bottom edge of the trapezoid active area.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
double firstPadPhiDiv() const
Returns the angle of the first pad outer edge w.r.t. the gasGap center from the beamline.
double m_firstPadPhiDiv
Angle of the first pad outer edge w.r.t. the gasGap center from the beamline.
int padPhi(const int channel) const
Returns the Phi index of the pad for the given sequential channel number.
Amg::Vector2D m_topRight
Bottom right point of the trapezoid.
int m_numPadEta
Number of pads in the eta direction in the given layer.
int m_numStrips
Number of all strips.