|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #include <GaudiKernel/SystemOfUnits.h>
13 #ifndef SIMULATIONBASE
14 # include "Acts/Surfaces/TrapezoidBounds.hpp"
15 # include "Acts/Surfaces/Surface.hpp"
26 ostr<<
"chamber dimensions --- ";
27 ostr<<
"thickness: "<<
pars.halfThickness<<
" ";
28 ostr<<
"height: "<<
pars.halfHeight<<
" ";
29 ostr<<
"shortWidth: "<<
pars.halfWidthShort<<
" ";
30 ostr<<
"longWidth: "<<
pars.halfWidthLong<<
" --- ";
33 TgcReadoutElement::~TgcReadoutElement() =
default;
36 m_pars{std::move(
args)} {
44 bool hasSensor{
false};
47 if (!layPtr)
continue;
48 if (layPtr->hash() !=
s) {
50 return StatusCode::FAILURE;
53 <<
" isStrip: "<<
isStrip(layPtr->hash())<<
" hash: "<<
s);
58 return StatusCode::FAILURE;
60 #ifndef SIMULATIONBASE
69 ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
70 #ifndef SIMULATIONBASE
73 layout.longHalfHeight(),
80 ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
81 #ifndef SIMULATIONBASE
85 layout.longHalfHeight(),
86 layout.halfWidth())));
90 #ifndef SIMULATIONBASE
97 return StatusCode::SUCCESS;
101 const unsigned layIdx{
static_cast<unsigned>(layHash)};
unsigned int numWireGangs(unsigned int gasGap) const
Returns the number of wire gangs for a given gasGap [1-3].
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
MmReadoutElement::parameterBook parameterBook
const WireGroupDesign & wireGangLayout(unsigned int gasGap) const
Returns access to the wire group design of the given gasGap [1-3] If the gap does not have a wires an...
Amg::Transform3D fromGapToChamOrigin(const IdentifierHash &layerHash) const
static unsigned int gasGapNumber(const IdentifierHash &measHash)
unsigned int nGasGaps() const
Returns the number of gasgaps described by this ReadOutElement (usally 2 or 3)
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()
#define ATH_MSG_VERBOSE(x)
def gap(flags, cells_name, *args, **kw)
static IdentifierHash constructHash(unsigned int measCh, unsigned int gasGap, const bool isStrip)
Constructs the Hash out of the Identifier fields (channel, gasGap, isStrip)
static bool isStrip(const IdentifierHash &measHash)
StatusCode initElement() override final
Element initialization.
unsigned int numStrips(unsigned int gasGap) const
Returns the number of strips for a given gasGap [1-3].
const RadialStripDesign & stripLayout(unsigned int gasGap) const
Returns access to the strip design of the given gasGap [1-3] If the gap does not have strips an excep...
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.
ActsTrk::SurfaceBoundSetPtr< Acts::TrapezoidBounds > layerBounds
Set of surface boundaries.
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
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)
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.
static unsigned int channelNumber(const IdentifierHash &measHash)
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Scalar mag() const
mag method