|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
5 #define MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
10 #ifndef SIMULATIONBASE
16 class TrapezoidBounds;
68 #ifndef SIMULATIONBASE
211 #ifndef SIMULATIONBASE
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::Transform3D asBuiltRefFrame() const
Returns the transformation to go into the reference frame of the as-buit & b-line model starting from...
Amg::Vector3D localTubePos(const IdentifierHash &hash) const
Returns the tube position in the chamber coordinate frame (Not applying the B-line corrections)
std::set< IdentifierHash > removedTubes
List of tube places without tubes.
unsigned int numTubesInLay() const
Returns the number of tubes per layer.
const MdtReadoutElement * m_reOtherMl
Complementary readout element.
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
virtual ~MdtReadoutElement()
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.
double uncutTubeLength(const IdentifierHash &tubeHash) const
Returns the uncut tube length.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
parameterBook m_pars
defining parameter set
double moduleWidthS() const
Returns the length of the bottom edge of the chamber (short width)
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)
Amg::Vector3D bLineReferencePoint() const
Returns the fixed point of the B-line & as-bult defromation model expressed in the as-built frame.
double endPlugLength
Depth of the endplug into the active tube volume.
const MdtIdHelper & m_idHelper
Detector identifier helper to quickly extract the ID fields.
double shortHalfX
The chambers have either a rectangular or a trapezoidal shape to first approximation.
Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align...
double radLengthX0
Radiadtion length.
Amg::Transform3D fromIdealToDeformed(const IdentifierHash &tubeHash, const ActsTrk::DetectorAlignStore *store) const
Applies the B & as-built parameters.
void setComplementaryReadoutEle(const MdtReadoutElement *other)
Set the link to the second readout element inside the muon station.
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.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
double moduleWidthL() const
Returns the length of the top edge of the chamber (top width)
Amg::Vector3D applyBlineCorrections(const BLinePar &bline, const Amg::Vector3D &localTubeEndPoint, const Amg::Vector3D &fixedPoint, const double thickness) const
Apply the B-line model correction to a tube endpoint.
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
bool isValid(const IdentifierHash &measHash) const
Amg::Vector3D wireEndpointAsBuilt(const MdtAsBuiltPar &asBuilt, const IdentifierHash &tubeHash, const Amg::Vector3D &nominalEnd, const tubeSide_t side) const