![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
5 #define MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
10 #ifndef SIMULATIONBASE
11 # include "Acts/Surfaces/TrapezoidBounds.hpp"
61 #ifndef SIMULATIONBASE
164 #ifndef SIMULATIONBASE
165 std::map<Identifier, std::shared_ptr<Acts::Surface>>
getSurfaces()
const override final;
int multilayer(const Identifier &id) const
Access to components of the ID.
MmReadoutElement::parameterBook parameterBook
ActsTrk::SurfaceBoundSetPtr< Acts::LineBounds > tubeBounds
Sets of surface bounds which is shared amongst all readout elements used to assign the same bound obj...
Amg::Vector3D localTubePos(const IdentifierHash &hash) const
Returns the tube position in the chamber coordinate frame.
std::set< IdentifierHash > removedTubes
List of tube places without tubes.
unsigned int numTubesInLay() const
Returns the number of tubes per layer.
ActsTrk::SurfaceBoundSetPtr< Acts::TrapezoidBounds > layerBounds
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
std::vector< MdtTubeLayerPtr > tubeLayers
Vector defining the position of all tubes in each tube layer.
double tubeLength(const IdentifierHash &hash) const
bool isBarrel() const
States whether the chamber is built into the barrel or not.
double moduleThickness() const
Returns the thickness of the chamber.
double halfHeight
Height of the chamber ~ number of layers.
static IdentifierHash measurementHash(unsigned int layerNumber, unsigned int tubeNumber)
Transform the layer and tube number to the measurementHash.
bool m_isBarrel
Flag defining whether the chamber is barrel or not.
Amg::Transform3D toChamberLayer(const IdentifierHash &hash) const
Returns the transformation into the rest frame of the tube x-axis: Pointing towards the next layer y-...
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
double activeTubeLength(const IdentifierHash &hash) const
Amg::Vector3D readOutPos(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global position of the readout card.
StatusCode initElement() override final
Element initialization.
bool const RAWDATA *ch2 const
double tubeRadius() const
Adds the thickness of the tube wall onto the radius.
double readoutSide
Is the readout chip at positive or negative Z?
Identifier measurementId(const IdentifierHash &measHash) const override final
Converts the measurement hash back to the full Identifier.
unsigned int multilayer() const
Returns the multi layer of the MdtReadoutElement.
double wireLength(const IdentifierHash &hash) const
static unsigned int layerNumber(const IdentifierHash &hash)
Transforms the identifier hash into a layer number ranging from (0-numLayers()-1)
double tubeInnerRad
Inner radius of the tubes.
double halfY
Length ~ number of tubes.
A muon chamber is a collection of readout elements belonging to the same station.
double moduleWidthS() const
Returns the length of the bottom edge of the chamber (short width)
std::map< Identifier, std::shared_ptr< Acts::Surface > > getSurfaces() const override final
Returns all surfaces that are associated with the active readout planes.
double tubeWall
Thickness of the tube walls.
Set of parameters to describe a MDT chamber.
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
unsigned int numLayers() const
Returns the number of tube layer.
Eigen::Affine3d Transform3D
int m_stML
Identifier index of the multilayer (1-2)
Include the GeoPrimitives which need to be put first.
double innerTubeRadius() const
Returns the inner tube radius.
double moduleHeight() const
Returns the height of the chamber (Distance bottom - topWidth)
Definition of ATLAS Math & Geometry primitives (Amg)
double wireTension
Tension parameter Used in the SaggedLine surfaces.
double distanceToReadout(const ActsGeometryContext &ctx, const Identifier &measId, const Amg::Vector3D &globPoint) const
Returns the distance along the wire from the readout card The distance is given as the delta z of the...
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
MdtReadoutElement(defineArgs &&args)
Helper struct to ship the defining arguments of the detector element around.
bool isBarrel(const Identifier &id) const
Identifier identify() const override final
Return the athena identifier.
double tubePitch() const
Returns the pitch between 2 tubes in a layer.
Eigen::Matrix< double, 3, 1 > Vector3D
double tubePitch
Distance between 2 tubes in the layer.
double thickness() const override final
Overload from the Acts::DetectorElement (2 * halfheight)
static unsigned int tubeNumber(const IdentifierHash &hash)
Transforms the idenfier hash into a tube number ranging from (0- numTubesInLay()-1)
double endPlugLength
Depth of the endplug into the active tube volume.
const MdtIdHelper & m_idHelper
double shortHalfX
The chambers have either a rectangular or a trapezoidal shape to first approximation.
double radLengthX0
Radiadtion length.
IdentifierHash layerHash(const Identifier &measId) const override final
Transforms the Identifier into the layer hash.
ActsTrk::DetectorType detectorType() const override final
Overload from the ActsTrk::IDetectorElement.
Amg::Vector3D globalTubePos(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global position of the tube center.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
std::shared_ptr< SurfaceBoundSet< BoundType > > SurfaceBoundSetPtr
Aberivation to create a new SurfaceBoundSetPtr.
const parameterBook & getParameters() const
Amg::Transform3D toTubeFrame(const IdentifierHash &hash) const
Returns the transformation into the rest frame of the tube x-axis: Pointing towards the next layer y-...
Amg::Vector3D highVoltPos(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global position of the High Voltage connectors.
std::ostream & operator<<(std::ostream &ostr, const CutOutArea &cut)
double moduleWidthL() const
Returns the length of the top edge of the chamber (top width)
bool isValid(const IdentifierHash &measHash) const