10#ifndef MUONREADOUTGEOMETRY_MUONREADOUTELEMENT_H
11#define MUONREADOUTGEOMETRY_MUONREADOUTELEMENT_H
16#include "Identifier/Identifier.h"
20#include "GaudiKernel/ServiceHandle.h"
27 class MuonDetectorManager;
Eigen::Affine3d Transform3D
Define macros for attributes used to control the static checker.
#define ATLAS_CHECK_FILE_THREAD_SAFETY
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
This is a "hash" representation of an Identifier.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
MuonDetectorManager * m_muon_mgr
virtual ~MuonReadoutElement()
int m_stIdx
Identifier field of the station index.
const Amg::Transform3D & defTransform() const
void setIdentifier(const Identifier &id)
Sets the Identifier, hashes & station names.
void setLongRsize(double)
void setParentMuonStation(const MuonStation *)
double m_LongZsize
size in the specified direction
MuonReadoutElement(GeoVFullPhysVol *pv, MuonDetectorManager *mgr, Trk::DetectorElemType detType)
IdentifierHash identifyHash() const override final
Returns the IdentifierHash of the MuonStation, i.e.
void setLongSsize(double)
const std::string & getTechnologyName() const
Trk::DetectorElemType m_type
int m_eta
Identifier field of the station eta.
IdentifierHash detectorElementHash() const
Returns the IdentifierHash of the detector element.
virtual Amg::Transform3D AmdbLRSToGlobalTransform() const
const Muon::IMuonIdHelperSvc * idHelperSvc() const
double getLongZsize() const
std::string m_statname
examples are BMS5, CSS1, EML1
Amg::Transform3D toParentStation() const
double getLongRsize() const
int getStationIndex() const
const Amg::Transform3D & absTransform() const
void setTechnologyName(const std::string &str)
int m_phi
Identifier field of the station phi.
void setStationName(const std::string &)
const Amg::Vector3D globalPosition() const
virtual void fillCache()=0
int getStationPhi() const
virtual Amg::Vector3D AmdbLRSToGlobalCoords(const Amg::Vector3D &x) const
Trk::DetectorElemType detectorType() const override final
Return the Detector element type.
const MuonDetectorManager * manager() const
double getStationS() const
Seems to be exclusively used by the MDTs --> Move it to MdtReadoutElement.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual Amg::Vector3D GlobalToAmdbLRSCoords(const Amg::Vector3D &x) const
virtual void clearCache()=0
std::string m_techname
MDT or RPC or TGC or CSC plus a two digits subtype; example RPC17.
int getStationEta() const
double getLongSsize() const
const MuonStation * parentMuonStation() const
virtual Amg::Transform3D GlobalToAmdbLRSTransform() const
Identifier m_id
extended data-collection identifier
void setHasCutouts(bool flag)
int m_caching
0 if we want to avoid caching geometry info for tracking interface
const std::string & getStationName() const
const MuonStation * m_parentMuonStation
IdentifierHash m_detectorElIdhash
detector element hash identifier
Identifier identify() const override final
Returns the ATLAS Identifier of the MuonReadOutElement.
Amg::Vector3D parentMuonStationPos() const
std::string getStationType() const
std::string getTechnologyType() const
IdentifierHash m_idhash
data-collection hash identifier
virtual bool containsId(const Identifier &id) const =0
void setLongZsize(double)
bool m_hasCutouts
true is there are cutouts in the readdout-element
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
This is the base class for all tracking detector elements with read-out relevant information.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Affine3d Transform3D
Ensure that the Athena extensions are properly loaded.