|
ATLAS Offline Software
|
#include <MuonStation.h>
|
| MuonStation (std::string_view stName, double Ssize, double Rsize, double Zsize, double LongSsize, double LongRsize, double LongZsize, int zi, int fi, bool m_descratzneg) |
|
| ~MuonStation () |
|
int | getPhiIndex () const |
| a la AMDB More...
|
|
int | getEtaIndex () const |
| a la AMDB More...
|
|
const std::string & | getKey () const |
|
std::string | getStationType () const |
| like BMS, T1F, CSL More...
|
|
const std::string & | getStationName () const |
| like BMS5, T1F1, CSL1 More...
|
|
void | setEtaPhiIndices (int eta, int phi) |
| a la AMDB More...
|
|
double | Rsize () const |
|
double | Ssize () const |
|
double | Zsize () const |
|
double | LongRsize () const |
|
double | LongSsize () const |
|
double | LongZsize () const |
|
double | RsizeMdtStation () const |
|
double | ZsizeMdtStation () const |
|
bool | endcap () const |
|
bool | barrel () const |
|
double | xAmdbCRO () const |
|
void | setxAmdbCRO (double xpos) |
|
void | setTransform (GeoAlignableTransform *xf) |
|
void | setBlineFixedPointInAmdbLRS (double s0, double z0, double t0) |
|
const Amg::Vector3D & | getBlineFixedPointInAmdbLRS () const |
|
void | updateBlineFixedPointInAmdbLRS () |
|
void | setNativeToAmdbLRS (Amg::Transform3D xf) |
|
void | setNominalAmdbLRSToGlobal (Amg::Transform3D xf) |
|
void | setDeltaAmdbLRS (Amg::Transform3D xf) |
| set the delta transform in the amdb frame and update the geoModel Delta More...
|
|
void | setDelta_fromAline_forComp (int, double, double, double, double, double, double) |
|
void | setDelta_fromAline (double, double, double, double, double, double) |
| set the delta transform in the amdb frame and update the geoModel Delta More...
|
|
void | addMuonReadoutElementWithAlTransf (MuonReadoutElement *a, GeoAlignableTransform *ptrsf, int jobIndex) |
|
const MuonReadoutElement * | getMuonReadoutElement (int jobIndex) const |
|
MuonReadoutElement * | getMuonReadoutElement (int jobIndex) |
|
GeoAlignableTransform * | getComponentAlTransf (int jobIndex) const |
|
int | nMuonReadoutElements () const |
|
void | clearCache () |
|
void | fillCache () |
|
void | refreshCache () |
|
void | setBline (const BLinePar *bline) |
|
const GeoAlignableTransform * | getGeoTransform () const |
|
Amg::Transform3D | getTransform () const |
|
const Amg::Transform3D & | getNativeToAmdbLRS () const |
|
Amg::Transform3D | getAmdbLRSToGlobal () const |
|
const Amg::Transform3D & | getNominalAmdbLRSToGlobal () const |
|
double | getALine_tras () const |
|
double | getALine_traz () const |
|
double | getALine_trat () const |
|
double | getALine_rots () const |
|
double | getALine_rotz () const |
|
double | getALine_rott () const |
|
bool | hasALines () const |
|
bool | hasBLines () const |
|
bool | hasMdtAsBuiltParams () const |
|
const MdtAsBuiltPar * | getMdtAsBuiltParams () const |
|
void | setMdtAsBuiltParams (const MdtAsBuiltPar *xtomo) |
|
void | setPhysVol (const PVLink &vol) |
|
PVConstLink | getPhysVol () const |
|
PVLink | getPhysVol () |
|
bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More...
|
|
MsgStream & | msg () const |
| The standard message stream. More...
|
|
MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More...
|
|
void | setLevel (MSG::Level lvl) |
| Change the current logging level. More...
|
|
Definition at line 51 of file MuonStation.h.
◆ pairRE_AlignTransf
◆ MuonStation()
MuonGM::MuonStation::MuonStation |
( |
std::string_view |
stName, |
|
|
double |
Ssize, |
|
|
double |
Rsize, |
|
|
double |
Zsize, |
|
|
double |
LongSsize, |
|
|
double |
LongRsize, |
|
|
double |
LongZsize, |
|
|
int |
zi, |
|
|
int |
fi, |
|
|
bool |
m_descratzneg |
|
) |
| |
◆ ~MuonStation()
MuonGM::MuonStation::~MuonStation |
( |
| ) |
|
|
default |
◆ addMuonReadoutElementWithAlTransf()
void MuonGM::MuonStation::addMuonReadoutElementWithAlTransf |
( |
MuonReadoutElement * |
a, |
|
|
GeoAlignableTransform * |
ptrsf, |
|
|
int |
jobIndex |
|
) |
| |
◆ barrel()
bool MuonGM::MuonStation::barrel |
( |
| ) |
const |
◆ clearCache()
void MuonGM::MuonStation::clearCache |
( |
| ) |
|
◆ endcap()
bool MuonGM::MuonStation::endcap |
( |
| ) |
const |
◆ fillCache()
void MuonGM::MuonStation::fillCache |
( |
| ) |
|
◆ getALine_rots()
double MuonGM::MuonStation::getALine_rots |
( |
| ) |
const |
|
inline |
◆ getALine_rott()
double MuonGM::MuonStation::getALine_rott |
( |
| ) |
const |
|
inline |
◆ getALine_rotz()
double MuonGM::MuonStation::getALine_rotz |
( |
| ) |
const |
|
inline |
◆ getALine_tras()
double MuonGM::MuonStation::getALine_tras |
( |
| ) |
const |
|
inline |
◆ getALine_trat()
double MuonGM::MuonStation::getALine_trat |
( |
| ) |
const |
|
inline |
◆ getALine_traz()
double MuonGM::MuonStation::getALine_traz |
( |
| ) |
const |
|
inline |
◆ getAmdbLRSToGlobal()
◆ getBlineFixedPointInAmdbLRS()
◆ getComponentAlTransf()
GeoAlignableTransform * MuonGM::MuonStation::getComponentAlTransf |
( |
int |
jobIndex | ) |
const |
◆ getEtaIndex()
int MuonGM::MuonStation::getEtaIndex |
( |
| ) |
const |
|
inline |
◆ getGeoTransform()
const GeoAlignableTransform * MuonGM::MuonStation::getGeoTransform |
( |
| ) |
const |
|
inline |
◆ getKey()
const std::string & MuonGM::MuonStation::getKey |
( |
| ) |
const |
|
inline |
◆ getMdtAsBuiltParams()
◆ getMuonReadoutElement() [1/2]
◆ getMuonReadoutElement() [2/2]
◆ getNativeToAmdbLRS()
◆ getNominalAmdbLRSToGlobal()
◆ getPhiIndex()
int MuonGM::MuonStation::getPhiIndex |
( |
| ) |
const |
|
inline |
◆ getPhysVol() [1/2]
PVLink MuonGM::MuonStation::getPhysVol |
( |
| ) |
|
◆ getPhysVol() [2/2]
PVConstLink MuonGM::MuonStation::getPhysVol |
( |
| ) |
const |
◆ getStationName()
const std::string & MuonGM::MuonStation::getStationName |
( |
| ) |
const |
|
inline |
◆ getStationType()
std::string MuonGM::MuonStation::getStationType |
( |
| ) |
const |
|
inline |
◆ getTransform()
◆ hasALines()
bool MuonGM::MuonStation::hasALines |
( |
| ) |
const |
|
inline |
◆ hasBLines()
bool MuonGM::MuonStation::hasBLines |
( |
| ) |
const |
|
inline |
◆ hasMdtAsBuiltParams()
bool MuonGM::MuonStation::hasMdtAsBuiltParams |
( |
| ) |
const |
|
inline |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ LongRsize()
double MuonGM::MuonStation::LongRsize |
( |
| ) |
const |
|
inline |
◆ LongSsize()
double MuonGM::MuonStation::LongSsize |
( |
| ) |
const |
|
inline |
◆ LongZsize()
double MuonGM::MuonStation::LongZsize |
( |
| ) |
const |
|
inline |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ nMuonReadoutElements()
int MuonGM::MuonStation::nMuonReadoutElements |
( |
| ) |
const |
|
inline |
◆ refreshCache()
void MuonGM::MuonStation::refreshCache |
( |
| ) |
|
◆ Rsize()
double MuonGM::MuonStation::Rsize |
( |
| ) |
const |
|
inline |
◆ RsizeMdtStation()
double MuonGM::MuonStation::RsizeMdtStation |
( |
| ) |
const |
Definition at line 295 of file MuonStation.cxx.
302 for (
int j = 1; j < 30; ++j) {
304 if (!activeComponent)
continue;
309 Rsize += activeComponent->getRsize() / 2.;
310 Rpos = activeComponent->toParentStation().translation();
316 Rsize += std::abs(Rpos.x() - RposFirst.x());
318 Rsize += std::abs(Rpos.y() - RposFirst.y());
◆ setBline()
Definition at line 271 of file MuonStation.cxx.
273 MuonReadoutElement*
re = readAlignPair.first;
277 MdtReadoutElement* mdt =
dynamic_cast<MdtReadoutElement*
>(
re);
278 mdt->setBLinePar(bline);
◆ setBlineFixedPointInAmdbLRS()
void MuonGM::MuonStation::setBlineFixedPointInAmdbLRS |
( |
double |
s0, |
|
|
double |
z0, |
|
|
double |
t0 |
|
) |
| |
Definition at line 65 of file MuonStation.cxx.
72 :
stationName/Jff/Jzz
" << getStationType() << " " << getPhiIndex() << " "
73 << getEtaIndex() << " nominal(
i.e. from-station-envelop-
only)
B-
line fixed point
"
74 << Amg::toString(m_BlineFixedPointInAmdbLRS));
78 const Amg::Vector3D& MuonStation::getBlineFixedPointInAmdbLRS() const {
79 // needed to update the station-level BlineFixedPoint with data from second multilayer
◆ setDelta_fromAline()
void MuonGM::MuonStation::setDelta_fromAline |
( |
double |
tras, |
|
|
double |
traz, |
|
|
double |
trat, |
|
|
double |
rots, |
|
|
double |
rotz, |
|
|
double |
rott |
|
) |
| |
set the delta transform in the amdb frame and update the geoModel Delta
Definition at line 140 of file MuonStation.cxx.
143 {Amg::Transform3D::Identity()};
144 if (std::abs(tras) + std::abs(traz) + std::abs(trat) + (std::abs(rots) + std::abs(rotz) + std::abs(rott)) * 1000. > 0.01) {
155 <<
" adding Aline " << setiosflags(std::ios::fixed) << std::setprecision(6) << std::setw(12)
156 << tras <<
" " << traz <<
" " << trat <<
" " << rots <<
" " << rotz <<
" " << rott << std::endl
157 <<
" delta_amdb computed from A-line " <<
Amg::toString(delta_amdb));
◆ setDelta_fromAline_forComp()
void MuonGM::MuonStation::setDelta_fromAline_forComp |
( |
int |
jobindex, |
|
|
double |
tras, |
|
|
double |
traz, |
|
|
double |
trat, |
|
|
double |
rots, |
|
|
double |
rotz, |
|
|
double |
rott |
|
) |
| |
this is what happens for a full station : m_transform->setDelta( m_native_to_amdbl->inverse() * m_delta_amdb_frame * m_native_to_amdbl );
Definition at line 188 of file MuonStation.cxx.
189 ATH_MSG_WARNING(
"setDelta_fromAline_forComp: WARNING: component for index " << jobindex
193 if (std::abs(tras) + std::abs(traz) + std::abs(trat) + (std::abs(rots) + std::abs(rotz) + std::abs(rott)) * 1000. < 0.01) {
194 ATH_MSG_DEBUG(
"setDelta_fromAline_forComp: A-line ignored --- too small (translations < 10microns & rotations <10microrad)");
207 double DZcomp = std::abs(thisREnominalCenter.z()) - std::abs((
m_amdbl_to_global.translation()).z()) -
216 Amg::Transform3D childToLocAmdbComponent = locAmdbStatToLocAmdbComp * childToLocAmdbStation;
219 <<
getEtaIndex() <<
" Job " << jobindex <<
" Origin of component/station AmdbLocalFrame= "
223 parentToChild->setDelta(childToLocAmdbComponent.inverse() * delta_amdb * childToLocAmdbComponent);
225 <<
getEtaIndex() <<
" Job " << jobindex <<
" Origin of component/station AmdbLocalFrame= "
230 <<
" adding Aline " << tras <<
" " << traz <<
" " << trat <<
" " << rots <<
" " << rotz <<
" " << rott
231 <<
" for component with index =" << jobindex << std::endl
232 <<
" delta_amdb computed from A-line " <<
Amg::toString(delta_amdb));
◆ setDeltaAmdbLRS()
set the delta transform in the amdb frame and update the geoModel Delta
Definition at line 131 of file MuonStation.cxx.
◆ setEtaPhiIndices()
void MuonGM::MuonStation::setEtaPhiIndices |
( |
int |
eta, |
|
|
int |
phi |
|
) |
| |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setMdtAsBuiltParams()
◆ setNativeToAmdbLRS()
Definition at line 54 of file MuonStation.cxx.
54 :
"<<Amg::toString(m_native_to_amdbl));
57 void MuonStation::setNominalAmdbLRSToGlobal(Amg::Transform3D xf) {
58 m_amdbl_to_global = std::move(xf);
◆ setNominalAmdbLRSToGlobal()
◆ setPhysVol()
void MuonGM::MuonStation::setPhysVol |
( |
const PVLink & |
vol | ) |
|
◆ setTransform()
void MuonGM::MuonStation::setTransform |
( |
GeoAlignableTransform * |
xf | ) |
|
◆ setxAmdbCRO()
void MuonGM::MuonStation::setxAmdbCRO |
( |
double |
xpos | ) |
|
Definition at line 52 of file MuonStation.cxx.
54 :
"<<Amg::toString(m_native_to_amdbl));
◆ Ssize()
double MuonGM::MuonStation::Ssize |
( |
| ) |
const |
|
inline |
◆ updateBlineFixedPointInAmdbLRS()
void MuonGM::MuonStation::updateBlineFixedPointInAmdbLRS |
( |
| ) |
|
Definition at line 86 of file MuonStation.cxx.
93 const MuonReadoutElement* muonRE = alignPair.first;
98 const MdtReadoutElement* mdtRE =
dynamic_cast<const MdtReadoutElement*
>(muonRE);
100 double shiftInZ = -0.5 * mdtRE->tubePitch();
102 double multilayerRealSize{0};
103 for (
int ilayer = 1; ilayer <= 2; ++ilayer) {
105 bool wellDefined = mdtRE->getWireFirstLocalCoordAlongZ(ilayer,
val);
109 <<
" cannot get wire coordinates for second tube layer");
112 if ((ilayer == 1) || (
val > multilayerRealSize)) multilayerRealSize =
val;
114 multilayerRealSize += (mdtRE->getNtubesperlayer() - 1) * mdtRE->tubePitch();
115 multilayerRealSize += mdtRE->outerTubeRadius();
116 shiftInZ += mdtRE->getZsize() - multilayerRealSize;
◆ xAmdbCRO()
double MuonGM::MuonStation::xAmdbCRO |
( |
| ) |
const |
|
inline |
◆ Zsize()
double MuonGM::MuonStation::Zsize |
( |
| ) |
const |
|
inline |
◆ ZsizeMdtStation()
double MuonGM::MuonStation::ZsizeMdtStation |
( |
| ) |
const |
Definition at line 327 of file MuonStation.cxx.
336 for (
int j = 1; j < 30; ++j) {
338 if (!activeComponent)
continue;
344 Zsize += activeComponent->getZsize() / 2.;
345 Zpos = activeComponent->toParentStation() *
Amg::Vector3D(0., 0., 0.);
351 Zsize += std::abs(Zpos.z() - ZposFirst.z());
353 Zsize += std::abs(Zpos.x() - ZposFirst.x());
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_amdbl_to_global
Amg::Transform3D MuonGM::MuonStation::m_amdbl_to_global {Amg::Transform3D::Identity()} |
|
private |
◆ m_BlineFixedPointInAmdbLRS
Amg::Vector3D MuonGM::MuonStation::m_BlineFixedPointInAmdbLRS {Amg::Vector3D::Zero()} |
|
private |
◆ m_delta_amdb_frame
Amg::Transform3D MuonGM::MuonStation::m_delta_amdb_frame {Amg::Transform3D::Identity()} |
|
private |
◆ m_descratzneg
bool MuonGM::MuonStation::m_descratzneg {false} |
|
private |
◆ m_firstRequestBlineFixedP
bool MuonGM::MuonStation::m_firstRequestBlineFixedP {true} |
|
private |
◆ m_hasALines
bool MuonGM::MuonStation::m_hasALines {false} |
|
private |
◆ m_hasBLines
bool MuonGM::MuonStation::m_hasBLines {false} |
|
private |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_key
std::string MuonGM::MuonStation::m_key {} |
|
private |
◆ m_LongRsize
double MuonGM::MuonStation::m_LongRsize {0.} |
|
private |
◆ m_LongSsize
double MuonGM::MuonStation::m_LongSsize {0.} |
|
private |
◆ m_LongZsize
double MuonGM::MuonStation::m_LongZsize {0.} |
|
private |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_native_to_amdbl
Amg::Transform3D MuonGM::MuonStation::m_native_to_amdbl {Amg::Transform3D::Identity()} |
|
private |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_physVol
PVLink MuonGM::MuonStation::m_physVol {nullptr} |
|
private |
Link the full physical volume associated with the station.
Definition at line 159 of file MuonStation.h.
◆ m_REwithAlTransfInStation
keep track of the REs in this station
Definition at line 157 of file MuonStation.h.
◆ m_rots
double MuonGM::MuonStation::m_rots {0.} |
|
private |
◆ m_rott
double MuonGM::MuonStation::m_rott {0.} |
|
private |
◆ m_rotz
double MuonGM::MuonStation::m_rotz {0.} |
|
private |
◆ m_Rsize
double MuonGM::MuonStation::m_Rsize {0.} |
|
private |
◆ m_Ssize
double MuonGM::MuonStation::m_Ssize {0.} |
|
private |
◆ m_statEtaIndex
int MuonGM::MuonStation::m_statEtaIndex {0} |
|
private |
◆ m_statname
std::string MuonGM::MuonStation::m_statname {} |
|
private |
◆ m_statPhiIndex
int MuonGM::MuonStation::m_statPhiIndex {0} |
|
private |
◆ m_transform
GeoAlignableTransform* MuonGM::MuonStation::m_transform {nullptr} |
|
private |
◆ m_xAmdbCRO
double MuonGM::MuonStation::m_xAmdbCRO {0.} |
|
private |
◆ m_XTomoData
◆ m_Zsize
double MuonGM::MuonStation::m_Zsize {0.} |
|
private |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
const MdtAsBuiltPar * m_XTomoData
std::string getStationType() const
like BMS, T1F, CSL
Amg::Transform3D m_native_to_amdbl
std::map< int, pairRE_AlignTransf > m_REwithAlTransfInStation
keep track of the REs in this station
PVConstLink getPhysVol() const
const Amg::Transform3D & defTransform() const
PVLink m_physVol
Link the full physical volume associated with the station.
Amg::Transform3D m_delta_amdb_frame
const std::string & getStationName() const
like BMS5, T1F1, CSL1
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Amg::Vector3D m_BlineFixedPointInAmdbLRS
IMessageSvc * getMessageSvc(bool quiet=false)
Amg::Transform3D getRotateZ3D(double angle)
get a rotation transformation around Z-axis
const MuonReadoutElement * getMuonReadoutElement(int jobIndex) const
Amg::Transform3D m_amdbl_to_global
int getPhiIndex() const
a la AMDB
Amg::Transform3D getRotateX3D(double angle)
get a rotation transformation around X-axis
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Eigen::Affine3d Transform3D
Class to provide easy MsgStream access and capabilities.
MsgStream & msg() const
The standard message stream.
bool m_firstRequestBlineFixedP
GeoAlignableTransform * m_transform
int nMuonReadoutElements() const
Amg::Transform3D getRotateY3D(double angle)
get a rotation transformation around Y-axis
Eigen::Matrix< double, 3, 1 > Vector3D
Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align...
#define ATH_MSG_WARNING(x)
int getEtaIndex() const
a la AMDB
std::string m_nm
Message source name.
const boost::regex re(r_e)
Eigen::Translation< double, 3 > Translation3D
const MdtAsBuiltPar * getMdtAsBuiltParams() const
void initMessaging() const
Initialize our message level and MessageSvc.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void setDeltaAmdbLRS(Amg::Transform3D xf)
set the delta transform in the amdb frame and update the geoModel Delta
double ZsizeMdtStation() const