![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include <GaudiKernel/SystemOfUnits.h>
14 ostr<<
"chamber dimensions --- ";
15 ostr<<
"thickness: "<<
pars.halfThickness<<
" ";
16 ostr<<
"height: "<<
pars.halfHeight<<
" ";
17 ostr<<
"shortWidth: "<<
pars.halfWidthShort<<
" ";
18 ostr<<
"longWidth: "<<
pars.halfWidthLong<<
" --- ";
24 m_pars{std::move(
args)} {
32 bool hasSensor{
false};
35 if (!layPtr)
continue;
36 if (layPtr->hash() !=
s) {
38 return StatusCode::FAILURE;
41 <<
" isStrip: "<<
isStrip(layPtr->hash())<<
" hash: "<<
s);
46 return StatusCode::FAILURE;
48 #ifndef SIMULATIONBASE
57 ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
58 #ifndef SIMULATIONBASE
61 layout.longHalfHeight(),
68 ATH_CHECK(insertTransform<TgcReadoutElement>(layHash));
69 #ifndef SIMULATIONBASE
73 layout.longHalfHeight(),
74 layout.halfWidth())));
78 #ifndef SIMULATIONBASE
85 return StatusCode::SUCCESS;
89 const unsigned layIdx{
static_cast<unsigned>(layHash)};
100 #ifndef SIMULATIONBASE
102 std::map<Identifier, std::shared_ptr<Acts::Surface>> surfaces{};
104 for (
bool measPhi: {
false,
true}) {
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...
A muon chamber is a collection of readout elements belonging to the same station.
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.
Identifier measurementId(const IdentifierHash &measHash) const override final
Converts the measurement hash back to the full Identifier.
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)
std::shared_ptr< Acts::Surface > surfacePtr(const IdentifierHash &hash) const
Returns the pointer associated to a certain wire / plane.
#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...
std::map< Identifier, std::shared_ptr< Acts::Surface > > getSurfaces() const override final
Returns all surfaces that are associated with the active readout planes.
Scalar mag() const
mag method