![]() |
ATLAS Offline Software
|
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & layer E.g. More...
#include <SpectrometerSector.h>
Classes | |
struct | chamberLocation |
: Helper struct for fast approximate navigation. More... | |
struct | defineArgs |
Public Types | |
using | ChamberPtr = GeoModel::TransientConstSharedPtr< Chamber > |
using | ChamberSet = std::vector< ChamberPtr > |
Public Member Functions | |
SpectrometerSector (defineArgs &&args) | |
Standard constructor taking the defining parameters. More... | |
SpectrometerSector (const SpectrometerSector &other)=delete | |
Delete the copy constructor and copy assignment. More... | |
SpectrometerSector & | operator= (const SpectrometerSector &other)=delete |
~SpectrometerSector ()=default | |
bool | operator< (const SpectrometerSector &other) const |
std::string | identString () const |
Returns a string encoding the chamber index & the sector of the MS sector. More... | |
const Muon::IMuonIdHelperSvc * | idHelperSvc () const |
Returns the IdHelpeSvc. More... | |
Muon::MuonStationIndex::ChIndex | chamberIndex () const |
Returns the chamber index scheme. More... | |
int | stationPhi () const |
: Returns the station phi of the sector More... | |
int | sector () const |
Returns the sector of the MS-sector. More... | |
int8_t | side () const |
Returns the side of the MS-sector 1 -> A side ; -1 -> C side. More... | |
bool | barrel () const |
Returns whether the sector is placed in the barrel. More... | |
const Amg::Transform3D & | localToGlobalTrans (const ActsGeometryContext &gctx) const |
Returns the local -> global tarnsformation from the sector. More... | |
Amg::Transform3D | globalToLocalTrans (const ActsGeometryContext &gctx) const |
Returns the global -> local transformation from the ATLAS global. More... | |
const Acts::PlaneSurface & | surface () const |
Returns the associated surface. More... | |
const ChamberSet & | chambers () const |
Returns the associated chambers with this sector. More... | |
double | halfXLong () const |
Long-extend of the chamber in the x-direction at positive Y. More... | |
double | halfXShort () const |
Short extend of the chamber in the x-direction at negative Y. More... | |
double | halfY () const |
Extend of the chamber in the y-direction. More... | |
double | halfZ () const |
Thickness of the chamber in the z-direction. More... | |
const defineArgs & | parameters () const |
Returns the reference to the defining parameters of the sector. More... | |
std::shared_ptr< Acts::Volume > | boundingVolume (const ActsGeometryContext &gctx) const |
Returns the Acts::Volume representation of the sector. More... | |
std::shared_ptr< Acts::TrapezoidVolumeBounds > | bounds () const |
Returns the volume bounds. More... | |
Chamber::ReadoutSet | readoutEles () const |
Returns the list of all associated readout elements. More... | |
const std::vector< chamberLocation > & | chamberLocations () const |
returns the list of all MDT chambers in the sector for fast navigation More... | |
const std::vector< unsigned int > & | logicalLayerIdx (const MuonReadoutElement *reEle) const |
Returns the logic layer numbering of a given Readout Element. More... | |
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... | |
Private Member Functions | |
std::unordered_map< const MuonReadoutElement *, std::vector< unsigned int > > | fillDetLayIdCache () const |
Function filling the map mapping the readout elements to layer numbers. More... | |
Identifier | computeDetLayerId (const MuonReadoutElement *rele) const |
Helper function calculating the logic layer Id and the physical layer id. More... | |
unsigned int | nLayerPerReadout (const MuonReadoutElement *rele) const |
Helper function giving the number of measurement layers in a given readout ele. More... | |
void | initMessaging () const |
Initialize our message level and MessageSvc. More... | |
Private Attributes | |
defineArgs | m_args {} |
const std::unordered_map< const MuonReadoutElement *, std::vector< unsigned int > > | m_detLayIdCache {fillDetLayIdCache()} |
Map mapping each Readout Element to the layer numbering in the sector frame. More... | |
std::string | m_nm |
Message source name. More... | |
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
MsgStream instance (a std::cout like with print-out levels) More... | |
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
MessageSvc pointer. More... | |
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
Current logging level. More... | |
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
Messaging initialized (initMessaging) More... | |
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & layer E.g.
sector 5 in BI on the A-side. The spectrometer sector defines a coordinate system which is primarly used in the pattern recognition stage of the muon reconstruction
x-axis: Points along the Mdt tubes & is hence sensitive to the phi direction y-axis: Points to the next Mdt tube in the layer or in other words to the big wheel in the sector, if the chamber is in the barrel or outside in radial direction z-axis: Points radially outwards if the chamber is in the barrel or in towards the cavern wall if it's an endcap chamber
The origin of the spectrometer sector is placed in the nominal centre of the envelope.
The spectrometer contains pointer to all chambers & readout elements that are enclosed by it.
Definition at line 40 of file SpectrometerSector.h.
Definition at line 42 of file SpectrometerSector.h.
using MuonGMR4::SpectrometerSector::ChamberSet = std::vector<ChamberPtr> |
Definition at line 43 of file SpectrometerSector.h.
MuonGMR4::SpectrometerSector::SpectrometerSector | ( | defineArgs && | args | ) |
Standard constructor taking the defining parameters.
Definition at line 38 of file SpectrometerSector.cxx.
|
delete |
Delete the copy constructor and copy assignment.
|
default |
bool MuonGMR4::SpectrometerSector::barrel | ( | ) | const |
Returns whether the sector is placed in the barrel.
Definition at line 65 of file SpectrometerSector.cxx.
std::shared_ptr< Acts::Volume > MuonGMR4::SpectrometerSector::boundingVolume | ( | const ActsGeometryContext & | gctx | ) | const |
Returns the Acts::Volume representation of the sector.
gctx | Geometry context carrrying the alignment transformations |
Definition at line 87 of file SpectrometerSector.cxx.
std::shared_ptr< Acts::TrapezoidVolumeBounds > MuonGMR4::SpectrometerSector::bounds | ( | ) | const |
Returns the volume bounds.
Definition at line 90 of file SpectrometerSector.cxx.
Muon::MuonStationIndex::ChIndex MuonGMR4::SpectrometerSector::chamberIndex | ( | ) | const |
Returns the chamber index scheme.
Definition at line 62 of file SpectrometerSector.cxx.
const std::vector< SpectrometerSector::chamberLocation > & MuonGMR4::SpectrometerSector::chamberLocations | ( | ) | const |
returns the list of all MDT chambers in the sector for fast navigation
Definition at line 100 of file SpectrometerSector.cxx.
const ChamberSet & MuonGMR4::SpectrometerSector::chambers | ( | ) | const |
Returns the associated chambers with this sector.
Definition at line 71 of file SpectrometerSector.cxx.
|
private |
Helper function calculating the logic layer Id and the physical layer id.
Definition at line 196 of file SpectrometerSector.cxx.
|
private |
Function filling the map mapping the readout elements to layer numbers.
Definition at line 127 of file SpectrometerSector.cxx.
Amg::Transform3D MuonGMR4::SpectrometerSector::globalToLocalTrans | ( | const ActsGeometryContext & | gctx | ) | const |
Returns the global -> local transformation from the ATLAS global.
Definition at line 78 of file SpectrometerSector.cxx.
double MuonGMR4::SpectrometerSector::halfXLong | ( | ) | const |
Long-extend of the chamber in the x-direction at positive Y.
Definition at line 81 of file SpectrometerSector.cxx.
double MuonGMR4::SpectrometerSector::halfXShort | ( | ) | const |
Short extend of the chamber in the x-direction at negative Y.
Definition at line 82 of file SpectrometerSector.cxx.
double MuonGMR4::SpectrometerSector::halfY | ( | ) | const |
Extend of the chamber in the y-direction.
Definition at line 83 of file SpectrometerSector.cxx.
double MuonGMR4::SpectrometerSector::halfZ | ( | ) | const |
Thickness of the chamber in the z-direction.
Definition at line 84 of file SpectrometerSector.cxx.
std::string MuonGMR4::SpectrometerSector::identString | ( | ) | const |
Returns a string encoding the chamber index & the sector of the MS sector.
Definition at line 66 of file SpectrometerSector.cxx.
const Muon::IMuonIdHelperSvc * MuonGMR4::SpectrometerSector::idHelperSvc | ( | ) | const |
Returns the IdHelpeSvc.
Definition at line 61 of file SpectrometerSector.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
const Amg::Transform3D & MuonGMR4::SpectrometerSector::localToGlobalTrans | ( | const ActsGeometryContext & | gctx | ) | const |
Returns the local -> global tarnsformation from the sector.
gctx | Geometry context carrrying the alignment transformations |
Definition at line 75 of file SpectrometerSector.cxx.
const std::vector< unsigned int > & MuonGMR4::SpectrometerSector::logicalLayerIdx | ( | const MuonReadoutElement * | reEle | ) | const |
Returns the logic layer numbering of a given Readout Element.
Definition at line 122 of file SpectrometerSector.cxx.
|
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.
|
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.
|
inlineinherited |
Test the output level.
lvl | The message level to test against |
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
private |
Helper function giving the number of measurement layers in a given readout ele.
Definition at line 238 of file SpectrometerSector.cxx.
bool MuonGMR4::SpectrometerSector::operator< | ( | const SpectrometerSector & | other | ) | const |
Definition at line 45 of file SpectrometerSector.cxx.
|
delete |
const SpectrometerSector::defineArgs & MuonGMR4::SpectrometerSector::parameters | ( | ) | const |
Returns the reference to the defining parameters of the sector.
Definition at line 60 of file SpectrometerSector.cxx.
Chamber::ReadoutSet MuonGMR4::SpectrometerSector::readoutEles | ( | ) | const |
Returns the list of all associated readout elements.
Definition at line 93 of file SpectrometerSector.cxx.
int MuonGMR4::SpectrometerSector::sector | ( | ) | const |
Returns the sector of the MS-sector.
Definition at line 64 of file SpectrometerSector.cxx.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
int8_t MuonGMR4::SpectrometerSector::side | ( | ) | const |
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
Definition at line 57 of file SpectrometerSector.cxx.
int MuonGMR4::SpectrometerSector::stationPhi | ( | ) | const |
: Returns the station phi of the sector
Definition at line 63 of file SpectrometerSector.cxx.
const Acts::PlaneSurface & MuonGMR4::SpectrometerSector::surface | ( | ) | const |
Returns the associated surface.
Definition at line 72 of file SpectrometerSector.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Definition at line 173 of file SpectrometerSector.h.
|
private |
Map mapping each Readout Element to the layer numbering in the sector frame.
Definition at line 178 of file SpectrometerSector.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.