5#ifndef MuonReadoutGeometry_MuonStation_H
6#define MuonReadoutGeometry_MuonStation_H
14#include "GeoModelKernel/GeoAlignableTransform.h"
15#include "GeoModelKernel/GeoFullPhysVol.h"
63 inline const std::string&
getKey()
const;
70 inline double Rsize()
const;
71 inline double Ssize()
const;
72 inline double Zsize()
const;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Cached value with atomic update.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Cached value with atomic update.
Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align...
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
void setBlineFixedPointInAmdbLRS(double s0, double z0, double t0)
GeoAlignableTransform * m_transform
double getALine_trat() const
PVConstLink getPhysVol() const
Amg::Transform3D m_delta_amdb_frame
const Amg::Transform3D & getNativeToAmdbLRS() const
int getEtaIndex() const
a la AMDB
const Amg::Transform3D & getNominalAmdbLRSToGlobal() const
void setEtaPhiIndices(int eta, int phi)
a la AMDB
void updateBlineFixedPointInAmdbLRS()
double ZsizeMdtStation() const
void setDeltaAmdbLRS(Amg::Transform3D xf)
set the delta transform in the amdb frame and update the geoModel Delta
int getPhiIndex() const
a la AMDB
bool m_firstRequestBlineFixedP
const std::string & getKey() const
const std::string & getStationName() const
like BMS5, T1F1, CSL1
MuonStation(std::string_view stName, double Ssize, double Rsize, double Zsize, double LongSsize, double LongRsize, double LongZsize, int zi, int fi, bool m_descratzneg)
std::string getStationType() const
like BMS, T1F, CSL
void setNominalAmdbLRSToGlobal(Amg::Transform3D xf)
void setxAmdbCRO(double xpos)
void setMdtAsBuiltParams(const MdtAsBuiltPar *xtomo)
void setDelta_fromAline(double, double, double, double, double, double)
set the delta transform in the amdb frame and update the geoModel Delta
void setMdtRsize(const double rSize)
double getALine_rott() const
int nMuonReadoutElements() const
double getALine_rots() const
Amg::Transform3D m_native_to_amdbl
const GeoAlignableTransform * getGeoTransform() const
const Amg::Vector3D & getBlineFixedPointInAmdbLRS() const
Amg::Vector3D m_BlineFixedPointInAmdbLRS
void setTransform(GeoAlignableTransform *xf)
CxxUtils::CachedValue< double > m_mdtRsize
const MdtAsBuiltPar * getMdtAsBuiltParams() const
std::map< int, pairRE_AlignTransf > m_REwithAlTransfInStation
keep track of the REs in this station
void addMuonReadoutElementWithAlTransf(MuonReadoutElement *a, GeoAlignableTransform *ptrsf, int jobIndex)
GeoAlignableTransform * getComponentAlTransf(int jobIndex) const
void setPhysVol(const PVLink &vol)
PVLink m_physVol
Link the full physical volume associated with the station.
Amg::Transform3D getTransform() const
void setNativeToAmdbLRS(Amg::Transform3D xf)
double getALine_tras() const
double RsizeMdtStation() const
void setMdtZsize(const double zSize)
double getALine_rotz() const
void setBline(const BLinePar *bline)
const MuonReadoutElement * getMuonReadoutElement(int jobIndex) const
CxxUtils::CachedValue< double > m_mdtZsize
Amg::Transform3D getAmdbLRSToGlobal() const
bool hasMdtAsBuiltParams() const
double getALine_traz() const
void setDelta_fromAline_forComp(int, double, double, double, double, double, double)
Amg::Transform3D m_amdbl_to_global
std::pair< MuonReadoutElement *, GeoAlignableTransform * > pairRE_AlignTransf
const MdtAsBuiltPar * m_XTomoData
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.