 |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include <GaudiKernel/SystemOfUnits.h>
11 #ifndef SIMULATIONBASE
12 # include "Acts/Surfaces/TrapezoidBounds.hpp"
13 # include "Acts/Surfaces/Surface.hpp"
23 ostr<<
"chamber dimensions --- ";
24 ostr<<
"thickness: "<<
pars.halfThickness<<
" ";
25 ostr<<
"height: "<<
pars.halfHeight<<
" ";
26 ostr<<
"shortWidth: "<<
pars.halfWidthShort<<
" ";
27 ostr<<
"longWidth: "<<
pars.halfWidthLong<<
" --- ";
30 TgcReadoutElement::~TgcReadoutElement() =
default;
33 m_pars{std::move(
args)} {
41 bool hasSensor{
false};
44 if (!layPtr)
continue;
45 if (layPtr->hash() !=
s) {
47 return StatusCode::FAILURE;
49 const IdentifierHash layHash =
layerHash(layPtr->hash());
57 if (layHash != layPtr->hash()) {
60 ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
61 #ifndef SIMULATIONBASE
65 design.longHalfHeight(),
66 design.halfWidth(), rotAngle)));
69 <<
" isStrip: "<<
isStrip(layPtr->hash())<<
" hash: "<<
s);
74 return StatusCode::FAILURE;
76 #ifndef SIMULATIONBASE
87 return StatusCode::SUCCESS;
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
MmReadoutElement::parameterBook parameterBook
Amg::Transform3D fromGapToChamOrigin(const IdentifierHash &layerHash) const
Amg::Vector3D channelPosition(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the center of the measurement channel eta measurement: wire gang center phi measurement: stri...
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
StatusCode createGeoTransform()
std::shared_ptr< Acts::SurfaceBoundFactory > layerBounds
Set of surface boundaries.
#define ATH_MSG_VERBOSE(x)
static unsigned channelNumber(const IdentifierHash &measHash)
Unpacks the channel number from the measurement hash.
static bool isStrip(const IdentifierHash &measHash)
Unpacks whether the measurement hash is a strip.
StatusCode initElement() override final
Element initialization.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
const parameterBook & getParameters() const
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Affine3d Transform3D
double halfWidthLong
Half length of the chamber long edge (Top)
Set of parameters to describe a Tgc chamber.
static unsigned gasGapNumber(const IdentifierHash &measHash)
Unpacks the gas gap number from the measurement hash.
Amg::Vector3D center(const ActsGeometryContext &ctx) const
Returns the detector center (Which is the same as the detector center of the first measurement layer)
MsgStream & operator<<(MsgStream &out, const ActsUtils::Stat &stat)
double halfWidthShort
Half length of the chamber short edge (Bottom)
Include the GeoPrimitives which need to be put first.
IdentifierHash layerHash(const Identifier &measId) const override final
static IdentifierHash geoTransformHash()
Returns the hash that is associated with the surface cache holding the transformation that is placing...
const StripLayerPtr & sensorLayout(const IdentifierHash &hash) const
Returns the pointer to the strip layer associated with the gas gap.
Identifier identify() const override final
Return the athena identifier.
Eigen::Matrix< double, 3, 1 > Vector3D
#define THROW_EXCEPTION(MESSAGE)
double m_gasThickness
Distance between 2 gas gaps (Z - direction)
double halfHeight
Half height of the chamber (Top - botom edge)
StatusCode planeSurfaceFactory(const IdentifierHash &hash, std::shared_ptr< Acts::PlanarBounds > pBounds)
#define ATH_MSG_WARNING(x)
static IdentifierHash constructHash(unsigned measCh, unsigned gasGap, const bool isStrip)
Constructs the Hash out of the Identifier fields (channel, gasGap, isStrip)
std::array< StripLayerPtr, 6 > sensorLayouts
We have maximum 3 gasgaps times eta / phi measurement.
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &ctx) const
Returns the local to global transformation into the ATLAS coordinate system.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Scalar mag() const
mag method