 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
5 #define MUONREADOUTGEOMETRYR4_MDTREADOUTELEMENT_H
10 #ifndef SIMULATIONBASE
13 # include "Acts/Utilities/BoundFactory.hpp"
63 #ifndef SIMULATIONBASE
204 #ifndef SIMULATIONBASE
int multilayer(const Identifier &id) const
Access to components of the ID.
std::shared_ptr< Acts::SurfaceBoundFactory > boundFactory
Sets of surface bounds which is shared amongst all readout elements used to assign the same bound obj...
MmReadoutElement::parameterBook parameterBook
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.
Amg::Vector3D readOutPos(const ActsTrk::GeometryContext &ctx, const Identifier &measId) const
Returns the global position of the readout card.
const MdtReadoutElement * m_reOtherMl
Complementary readout element.
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
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.
Amg::Vector3D globalTubePos(const ActsTrk::GeometryContext &ctx, const Identifier &measId) const
Returns the global position of the tube center.
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)
Amg::Vector3D highVoltPos(const ActsTrk::GeometryContext &ctx, const Identifier &measId) const
Returns the global position of the High Voltage connectors.
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)
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.
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.
double distanceToReadout(const ActsTrk::GeometryContext &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...
ActsTrk::DetectorType detectorType() const override final
Overload from the ActsTrk::IDetectorElement.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
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-...
const MdtReadoutElement * complementaryRE() const
Returns the pointer to the other readout element inside the muon station.
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