![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONGEOMODELR4_MUONREADOUTELEMENT_H
5 #define MUONGEOMODELR4_MUONREADOUTELEMENT_H
10 #include <GaudiKernel/ServiceHandle.h>
11 #include <GeoModelKernel/GeoVDetectorElement.h>
12 #include <GeoModelKernel/GeoAlignableTransform.h>
21 #ifndef SIMULATIONBASE
22 # include "Acts/Surfaces/LineBounds.hpp"
23 # include "Acts/Surfaces/PlanarBounds.hpp"
45 GeoIntrusivePtr<GeoVFullPhysVol>
physVol{
nullptr};
140 #ifndef SIMULATIONBASE
141 const Acts::Transform3&
transform(
const Acts::GeometryContext& gctx)
const override final;
161 virtual double thickness()
const = 0;
179 #ifndef SIMULATIONBASE
191 "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
"MuonReadoutElement"};
206 using TransformCacheMap = std::unordered_map<IdentifierHash, std::unique_ptr<ActsTrk::TransformCache>>;
208 #ifndef SIMULATIONBASE
unsigned int storeAlignedTransforms(const ActsTrk::DetectorAlignStore &store) const override final
Caches the aligned transformation in the provided store. Returns the number of cached elements.
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
const GeoAlignableTransform * alignTransform
Pointer to the alignable transformation.
std::set< std::unique_ptr< SurfaceCache >, std::less<> > SurfaceCacheSet
TransformCacheMap m_localToGlobalCaches
const Acts::Surface & surface() const override final
Returns the surface associated to the readout element plane.
std::string chamberDesign() const
The chamber design refers to the construction parameters of a readout element.
ActsTrk::SurfaceCacheSet m_surfaces
Cache of all associated surfaces.
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
StatusCode createGeoTransform()
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &ctx) const
Transformations to translate between local <-> global coordinates.
const Amg::Transform3D & toStation(const ActsTrk::DetectorAlignStore *alignStore) const
Returns the transformation into the center of the readout volume.
virtual IdentifierHash layerHash(const Identifier &measId) const =0
bool const RAWDATA *ch2 const
This class provides conversion from CSC RDO data to CSC Digits.
std::unordered_map< IdentifierHash, std::unique_ptr< ActsTrk::TransformCache > > TransformCacheMap
Cache all local to global transformations.
int m_stPhi
Cache the station phi of the identifier.
int m_stName
Cache the station name of the identifier.
void setChamberLink(GeoModel::TransientConstSharedPtr< MuonChamber > chamber)
Set's the link to the MuonChamber object to which the MuonReadoutElement belongs to.
MuonReadoutElement()=delete
A muon chamber is a collection of readout elements belonging to the same station.
MuonReadoutElement(const MuonReadoutElement &)=delete
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Affine3d Transform3D
int m_stEta
Cache the station eta of the identifier.
const MuonChamber * getChamber() const
Amg::Vector3D center(const ActsGeometryContext &ctx) const
Returns the detector center (Which is the same as the detector center of the first measurement layer)
Class to provide easy MsgStream access and capabilities.
virtual Identifier measurementId(const IdentifierHash &measHash) const =0
Converts the measurement hash back to the full Identifier.
IdentifierHash identHash() const
Returns the Identifier has of the Element that is Identical to the detElHash from the id_helper class...
Include the GeoPrimitives which need to be put first.
Muon::MuonStationIndex::ChIndex m_chIdx
Cache the chamber index of the Identifier.
Definition of ATLAS Math & Geometry primitives (Amg)
std::string chambDesign
chamber design name as it's occuring in the parameter book tables E.g. BMS5, RPC10,...
GeoModel::TransientConstSharedPtr< MuonChamber > m_chambLink
Pointer to the associated MuonChamber.
static IdentifierHash geoTransformHash()
Returns the hash that is associated with the surface cache holding the transformation that is placing...
const GeoAlignableTransform * alignableTransform() const
Returnsthe alignable transform of the readout element.
virtual std::map< Identifier, std::shared_ptr< Acts::Surface > > getSurfaces() const =0
Returns all surfaces that are associated with the active readout planes.
Helper struct to ship the defining arguments of the detector element around.
StatusCode strawSurfaceFactory(const IdentifierHash &hash, std::shared_ptr< Acts::LineBounds > lBounds)
Identifier identify() const override final
Return the athena identifier.
Eigen::Matrix< double, 3, 1 > Vector3D
virtual StatusCode initElement()=0
Element initialization.
int stationName() const
Returns the stationName (BIS, BOS, etc) encoded into the integer.
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.
void releaseUnAlignedTrfs() const
Releases all cached transforms that are not connected with alignment.
IdentifierHash m_detElHash
Cache of the detector element hash.
virtual IdentifierHash measurementHash(const Identifier &measId) const =0
Constructs the identifier hash from the full measurement Identifier.
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index of the Identifier (MMS & STS) have the same chamber Index (EIS)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &ctx) const
Returns the local to global transformation into the ATLAS coordinate system.
ChIndex
enum to classify the different chamber layers in the muon spectrometer
StatusCode insertTransform(const IdentifierHash &hash)
Inserts a transfomration for caching.
Identifier detElId
ATLAS identifier.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
int stationEta() const
Returns the stationEta (positive A site, negative O site)
GeoIntrusivePtr< GeoVFullPhysVol > physVol
Pointer to the underlying physical volume in GeoModel.
const Acts::Transform3 & transform(const Acts::GeometryContext &gctx) const override final
Returns the transformation to the origin of the chamber coordinate system.
int stationPhi() const
Returns the stationPhi (1-8) -> sector (2*phi - (isSmall))