12#include "GeoModelKernel/GeoDefinitions.h"
13#include "GeoModelKernel/GeoPhysVol.h"
14#include "GeoModelKernel/GeoTransform.h"
40 ATH_MSG_FATAL(
"Failed to retrieve the MuonIdHelperSvc");
41 throw std::runtime_error(
"Invalid MuonIdHelperSvc");
58 if (c ==
'E' || c ==
'F' || c ==
'G')
return false;
59 if (c ==
'M' || c ==
'R')
return true;
62 ATH_MSG_FATAL(__FILE__<<
":"<<__LINE__<<
" largeSector() - is this station a larger sector answer is no for readout element "<<
m_idHelperSvc->toStringDetEl(
identify()));
63 throw std::runtime_error(
"Unknown sector");
73 return getMaterialGeom()->getX();
105 throw std::runtime_error(
"Invalid Identifier set");
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
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.
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)
void setLongSsize(double)
Trk::DetectorElemType m_type
int m_eta
Identifier field of the station eta.
virtual Amg::Transform3D AmdbLRSToGlobalTransform() const
std::string m_statname
examples are BMS5, CSS1, EML1
Amg::Transform3D toParentStation() 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
virtual Amg::Vector3D AmdbLRSToGlobalCoords(const Amg::Vector3D &x) const
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.
const MuonStation * parentMuonStation() const
virtual Amg::Transform3D GlobalToAmdbLRSTransform() const
Identifier m_id
extended data-collection identifier
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
IdentifierHash m_idhash
data-collection hash identifier
void setLongZsize(double)
const Amg::Transform3D & getNativeToAmdbLRS() const
Amg::Transform3D getTransform() const
TrkDetElementBase(const GeoVFullPhysVol *fullPhysVol)
Constructor from GeoVFullPhysVolume.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.