|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #include <GaudiKernel/SystemOfUnits.h>
10 #define ORDER_PROP(PROP) \
12 if (std::abs(PROP - other.PROP) > tolerance) { \
13 return PROP < other.PROP; \
40 const double anglePadPhi,
41 const int padPhiShift) {
51 const double padHeight,
52 const int maxPadEta) {
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) {
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...
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.
int m_maxPadEta
The maximum number of pads that can be contained in a column of a pad. Used to match the pad numberin...
const Amg::Vector2D & cornerBotLeft() const
Returns the bottom left corner of the trapezoid.
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.
int m_numPadPhi
Number of pads in the Phi direction in the given gasGap layer.
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 mill...
#define ATH_MSG_VERBOSE(x)
double longHalfHeight() const
Returns the longer half height of the panel.
double firstPadHeight() const
Returns the height of the pads that are adjacent to the bottom edge of the trapezoid active area.
double shortHalfHeight() const
Returns the shorter half height of the panel.
#define ORDER_PROP(PROP)
Helper macro to facilliate the ordering.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
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.
void defineBeamlineRadius(const double radius)
Extracting the distance from gasGap center to beamline from the local to global transformation of the...
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 padPhiShift() const
Returns the staggering shift of inner pad edges in the phi direction.
int firstStripNumber() const
Returns the number of the first strip.
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....
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...
double m_anglePadPhi
Angular pitch of the pads in the phi direction.
void print(std::ostream &ostr) const override final
Dump properties to the ostr.
double halfWidth() const
Returns the half height of the strip panel.
const Amg::Vector2D & cornerBotRight() const
Returns the bottom right corner of the trapezoid.
#define ATH_MSG_WARNING(x)
double m_radius
Stores the beamline radius extracted from the local to global transformation.
bool operator<(const PadDesign &other) const
set sorting operator
bool hasStereoAngle() const
Returns whether a stereo angle is defined.
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...
double m_firstPadHeight
Height of the pads that are adjacent to the bottom edge of the trapezoid active area.
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.
int m_numPadEta
Number of pads in the eta direction in the given layer.