ATLAS Offline Software
Loading...
Searching...
No Matches
MuonGMR4::SpectrometerSector Class Reference

A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & layer E.g. More...

#include <SpectrometerSector.h>

Inheritance diagram for MuonGMR4::SpectrometerSector:
Collaboration diagram for MuonGMR4::SpectrometerSector:

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.
 SpectrometerSector (const SpectrometerSector &other)=delete
 Delete the copy constructor and copy assignment.
SpectrometerSectoroperator= (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.
const Muon::IMuonIdHelperSvcidHelperSvc () const
 Returns the IdHelpeSvc.
Muon::MuonStationIndex::ChIndex chamberIndex () const
 Returns the chamber index scheme.
int stationPhi () const
 : Returns the station phi of the sector
int sector () const
 Returns the sector of the MS-sector.
int8_t side () const
 Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
bool barrel () const
 Returns whether the sector is placed in the barrel.
const Amg::Transform3DlocalToGlobalTrans (const ActsTrk::GeometryContext &gctx) const
 Returns the local -> global tarnsformation from the sector.
Amg::Transform3D globalToLocalTrans (const ActsTrk::GeometryContext &gctx) const
 Returns the global -> local transformation from the ATLAS global.
const Acts::PlaneSurface & surface () const
 Returns the associated surface.
const ChamberSetchambers () const
 Returns the associated chambers with this sector.
double halfXLong () const
 Long-extend of the chamber in the x-direction at positive Y.
double halfXShort () const
 Short extend of the chamber in the x-direction at negative Y.
double halfY () const
 Extend of the chamber in the y-direction.
double halfZ () const
 Thickness of the chamber in the z-direction.
const defineArgsparameters () const
 Returns the reference to the defining parameters of the sector.
std::shared_ptr< Acts::Volume > boundingVolume (const ActsTrk::GeometryContext &gctx) const
 Returns the Acts::Volume representation of the sector.
std::shared_ptr< Acts::VolumeBounds > bounds () const
 Returns the volume bounds.
Chamber::ReadoutSet readoutEles () const
 Returns the list of all associated readout elements.
const std::vector< chamberLocation > & chamberLocations () const
 returns the list of all MDT chambers in the sector for fast navigation
const std::vector< unsigned int > & logicalLayerIdx (const MuonReadoutElement *reEle) const
 Returns the logic layer numbering of a given Readout Element.
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.

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.
Identifier computeDetLayerId (const MuonReadoutElement *rele) const
 Helper function calculating the logic layer Id and the physical layer id.
unsigned int nLayerPerReadout (const MuonReadoutElement *rele) const
 Helper function giving the number of measurement layers in a given readout ele.
void initMessaging () const
 Initialize our message level and MessageSvc.

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.
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)

Detailed Description

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.

Member Typedef Documentation

◆ ChamberPtr

◆ ChamberSet

Definition at line 43 of file SpectrometerSector.h.

Constructor & Destructor Documentation

◆ SpectrometerSector() [1/2]

MuonGMR4::SpectrometerSector::SpectrometerSector ( defineArgs && args)

Standard constructor taking the defining parameters.

Definition at line 38 of file SpectrometerSector.cxx.

38 :
39 AthMessaging("MuonSpectrometerSector"), m_args{std::move(args)} {
40 for (auto & chamber : m_args.chambers) {
41 chamber->setParent(this);
42 }
43 }
AthMessaging()
Default constructor:

◆ SpectrometerSector() [2/2]

MuonGMR4::SpectrometerSector::SpectrometerSector ( const SpectrometerSector & other)
delete

Delete the copy constructor and copy assignment.

◆ ~SpectrometerSector()

MuonGMR4::SpectrometerSector::~SpectrometerSector ( )
default

Member Function Documentation

◆ barrel()

bool MuonGMR4::SpectrometerSector::barrel ( ) const

Returns whether the sector is placed in the barrel.

Definition at line 56 of file SpectrometerSector.cxx.

56{ return m_args.chambers.front()->barrel(); }

◆ boundingVolume()

std::shared_ptr< Acts::Volume > MuonGMR4::SpectrometerSector::boundingVolume ( const ActsTrk::GeometryContext & gctx) const

Returns the Acts::Volume representation of the sector.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 78 of file SpectrometerSector.cxx.

78 {
79 return std::make_shared<Acts::Volume>(localToGlobalTrans(gctx), bounds());
80}
const Amg::Transform3D & localToGlobalTrans(const ActsTrk::GeometryContext &gctx) const
Returns the local -> global tarnsformation from the sector.
std::shared_ptr< Acts::VolumeBounds > bounds() const
Returns the volume bounds.

◆ bounds()

std::shared_ptr< Acts::VolumeBounds > MuonGMR4::SpectrometerSector::bounds ( ) const

Returns the volume bounds.

Definition at line 81 of file SpectrometerSector.cxx.

81{ return m_args.bounds; }

◆ chamberIndex()

Muon::MuonStationIndex::ChIndex MuonGMR4::SpectrometerSector::chamberIndex ( ) const

Returns the chamber index scheme.

Definition at line 53 of file SpectrometerSector.cxx.

53{ return m_args.chambers.front()->chamberIndex(); }

◆ chamberLocations()

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 89 of file SpectrometerSector.cxx.

89 {
90 return m_args.detectorLocs;
91
92}

◆ chambers()

const ChamberSet & MuonGMR4::SpectrometerSector::chambers ( ) const

Returns the associated chambers with this sector.

Definition at line 62 of file SpectrometerSector.cxx.

62{ return m_args.chambers; }

◆ computeDetLayerId()

Identifier MuonGMR4::SpectrometerSector::computeDetLayerId ( const MuonReadoutElement * rele) const
private

Helper function calculating the logic layer Id and the physical layer id.

Definition at line 187 of file SpectrometerSector.cxx.

187 {
188
189 switch (rele->detectorType()) {
191 auto mdtRele = dynamic_cast<const MdtReadoutElement*>(rele);
192 return idHelperSvc()->mdtIdHelper().channelID(mdtRele->stationName(), 1,
193 mdtRele->stationPhi(),
194 mdtRele->multilayer(),
195 1,1);
196 }
198 auto rpcRele = dynamic_cast<const RpcReadoutElement*>(rele);
199 return idHelperSvc()->rpcIdHelper().channelID(rpcRele->stationName(), 1,
200 rpcRele->stationPhi(),
201 rpcRele->doubletR(), 1, 1,
202 1, 0, 1);
203 }
205 auto tgcRele = dynamic_cast<const TgcReadoutElement*>(rele);
206 return idHelperSvc()->tgcIdHelper().channelID(tgcRele->stationName(), 1,
207 tgcRele->stationPhi(),
208 1, 0, 1);
209 }
211 auto stgcRele = dynamic_cast<const sTgcReadoutElement*>(rele);
212 return idHelperSvc()->stgcIdHelper().channelID(stgcRele->stationName(), 1,
213 stgcRele->stationPhi(),
214 stgcRele->multilayer(),
215 1, 0, 1);
216 }
218 auto mmRele = dynamic_cast<const MmReadoutElement*>(rele);
219 return idHelperSvc()->mmIdHelper().channelID(mmRele->stationName(), 1,
220 mmRele->stationPhi(),
221 mmRele->multilayer(),
222 1, 1);
223 }
224 default:
225 THROW_EXCEPTION("Unexpected Readout Element Type in computeDetLayerId()");
226 }
227}
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int tubeLayer, int tube) const
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channel) const
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the IdHelpeSvc.
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
virtual const RpcIdHelper & rpcIdHelper() const =0
access to RpcIdHelper
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
virtual const TgcIdHelper & tgcIdHelper() const =0
access to TgcIdHelper
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
Identifier channelID(int stationName, int stationEta, int stationPhi, int doubletR, int doubletZ, int doubletPhi, int gasGap, int measuresPhi, int strip) const
Identifier channelID(int stationName, int stationEta, int stationPhi, int gasGap, int isStrip, int channel) const
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
@ Mm
Maybe not needed in the migration.
@ Tgc
Resitive Plate Chambers.
@ sTgc
Micromegas (NSW)
@ Rpc
Monitored Drift Tubes.
@ Mdt
MuonSpectrometer.
#define THROW_EXCEPTION(MESSAGE)
Definition throwExcept.h:10

◆ fillDetLayIdCache()

std::unordered_map< const MuonReadoutElement *, std::vector< unsigned int > > MuonGMR4::SpectrometerSector::fillDetLayIdCache ( ) const
private

Function filling the map mapping the readout elements to layer numbers.

Definition at line 115 of file SpectrometerSector.cxx.

115 {
116
117 std::unordered_map<const MuonReadoutElement*, std::vector<unsigned int>> cache{};
118 const ActsTrk::GeometryContext gctx{};
119 const Amg::Transform3D sectorTrans = globalToLocalTrans(gctx);
120
121 // sort the Readout elements by z in the sector fram
122 Chamber::ReadoutSet reEleSorted {readoutEles()};
123 std::ranges::sort(reEleSorted, [&sectorTrans, &gctx](const MuonReadoutElement* reEle1, const MuonReadoutElement* reEle2)-> bool {
124 return (sectorTrans * reEle1->center(gctx, reEle1->identify())).z() < (sectorTrans * reEle2->center(gctx, reEle2->identify())).z();
125 });
126
127 // this is a function to find the next logical layer, returning the corresponding reEle and Id
128 auto nextLayer = [this, &cache, &reEleSorted](const Identifier& lastId) ->
129 std::pair<const MuonReadoutElement*, const Identifier> {
130
131 const MuonReadoutElement* nextReEle {nullptr};
132 Identifier nextId {};
133
134 for (const MuonReadoutElement* reEle : reEleSorted){
135
136 // Check if this reEle has already been filled up
137 if (cache.count(reEle)) continue;
138
139 // compute the logical layer Id of the first layer of the reEle (first layer/gasgap, first channel, projecting to
140 // stationEta=1, doubletZ=1, doubletPhi=1, according to the technology)
141 const Identifier logicalId {computeDetLayerId(reEle)};
142
143 //if we find another measurement layer with the same detLayerId as the last we added (e.g. the same gasgap of two RPC z doublets)
144 if (logicalId == lastId){
145 return std::make_pair(reEle, logicalId);
146 }
147
148 // Save the next (subsequent) logic layer in z
149 if (!nextReEle) {
150 nextReEle = reEle;
151 nextId = logicalId;
152 }
153
154 }
155 return std::make_pair(nextReEle, nextId);
156 };
157
158 unsigned int layCounter {0}, nIter {0};
159 Identifier lastId {};
160 unsigned int deltaN {0};
161 while(++nIter <= reEleSorted.size()){
162
163 auto [nextReEle, nextId] = nextLayer(lastId);
164 if (!nextReEle){
165 THROW_EXCEPTION("Failed to retrieve next reEle in fillDetLayIdCache()");
166 }
167
168 unsigned int nLayers = nLayerPerReadout(nextReEle);
169
170 if (nextId != lastId) {
171 layCounter += deltaN;
172 deltaN = nLayers;
173 lastId = nextId;
174 }
175 else{
176 deltaN = std::max(deltaN, nLayers);
177 }
178
179 cache[nextReEle] = range(layCounter, layCounter + nLayers);
180
181 ATH_MSG_DEBUG( identString() << " ReEle: " << idHelperSvc()->toStringDetEl(nextReEle->identify()) <<
182 " Add logicLay: " << idHelperSvc()->toStringGasGap(nextId) << " nInserted, layCounter " << cache.at(nextReEle).size() << " ," << layCounter);
183 }
184 return cache;
185};
#define ATH_MSG_DEBUG(x)
std::vector< const MuonReadoutElement * > ReadoutSet
Define the list of read out elements of the chamber.
Definition Chamber.h:26
unsigned int nLayerPerReadout(const MuonReadoutElement *rele) const
Helper function giving the number of measurement layers in a given readout ele.
Amg::Transform3D globalToLocalTrans(const ActsTrk::GeometryContext &gctx) const
Returns the global -> local transformation from the ATLAS global.
Chamber::ReadoutSet readoutEles() const
Returns the list of all associated readout elements.
Identifier computeDetLayerId(const MuonReadoutElement *rele) const
Helper function calculating the logic layer Id and the physical layer id.
std::string identString() const
Returns a string encoding the chamber index & the sector of the MS sector.
Eigen::Affine3d Transform3D

◆ globalToLocalTrans()

Amg::Transform3D MuonGMR4::SpectrometerSector::globalToLocalTrans ( const ActsTrk::GeometryContext & gctx) const

Returns the global -> local transformation from the ATLAS global.

Definition at line 69 of file SpectrometerSector.cxx.

69 {
70 return localToGlobalTrans(gctx).inverse();
71}

◆ halfXLong()

double MuonGMR4::SpectrometerSector::halfXLong ( ) const

Long-extend of the chamber in the x-direction at positive Y.

Definition at line 72 of file SpectrometerSector.cxx.

72{ return MuonGMR4::halfXhighY(*m_args.bounds); }
double halfXhighY(const Acts::VolumeBounds &bounds)
Returns the half-Y length @ posiive Y for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfXShort()

double MuonGMR4::SpectrometerSector::halfXShort ( ) const

Short extend of the chamber in the x-direction at negative Y.

Definition at line 73 of file SpectrometerSector.cxx.

73{ return MuonGMR4::halfXlowY(*m_args.bounds); }
double halfXlowY(const Acts::VolumeBounds &bounds)
Returns the half-X length @ negative Y for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfY()

double MuonGMR4::SpectrometerSector::halfY ( ) const

Extend of the chamber in the y-direction.

Definition at line 74 of file SpectrometerSector.cxx.

74{ return MuonGMR4::halfY(* m_args.bounds); }
double halfY(const Acts::VolumeBounds &bounds)
Returns the half-Y length for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfZ()

double MuonGMR4::SpectrometerSector::halfZ ( ) const

Thickness of the chamber in the z-direction.

Definition at line 75 of file SpectrometerSector.cxx.

75{ return MuonGMR4::halfZ(*m_args.bounds);}
double halfZ(const Acts::VolumeBounds &bounds)
Returns the half-Z length for the parsed volume bounds (Trapezoid/ Cuboid)

◆ identString()

std::string MuonGMR4::SpectrometerSector::identString ( ) const

Returns a string encoding the chamber index & the sector of the MS sector.

Definition at line 57 of file SpectrometerSector.cxx.

57 {
58 return std::format("id: {:3d}, {:} {:}-side sector: {:2},", m_args.id,
60 side() == 1 ? 'A' : 'C' , sector());
61}
int8_t side() const
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
int sector() const
Returns the sector of the MS-sector.
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index scheme.
const std::string & chName(ChIndex index)
convert ChIndex into a string

◆ idHelperSvc()

const Muon::IMuonIdHelperSvc * MuonGMR4::SpectrometerSector::idHelperSvc ( ) const

Returns the IdHelpeSvc.

Definition at line 52 of file SpectrometerSector.cxx.

52{ return m_args.chambers.front()->idHelperSvc();}

◆ 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.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ localToGlobalTrans()

const Amg::Transform3D & MuonGMR4::SpectrometerSector::localToGlobalTrans ( const ActsTrk::GeometryContext & gctx) const

Returns the local -> global tarnsformation from the sector.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 66 of file SpectrometerSector.cxx.

66 {
67 return surface().transform(gctx.context());
68}
Acts::GeometryContext context() const
const Acts::PlaneSurface & surface() const
Returns the associated surface.

◆ logicalLayerIdx()

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 110 of file SpectrometerSector.cxx.

110 {
111 return m_detLayIdCache.at(reEle);
112};
const std::unordered_map< const MuonReadoutElement *, std::vector< unsigned int > > m_detLayIdCache
Map mapping each Readout Element to the layer numbering in the sector frame.

◆ 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 163 of file AthMessaging.h.

164{
165 MsgStream* ms = m_msg_tls.get();
166 if (!ms) {
167 if (!m_initialized.test_and_set()) initMessaging();
168 ms = new MsgStream(m_imsg,m_nm);
169 m_msg_tls.reset( ms );
170 }
171
172 ms->setLevel (m_lvl);
173 return *ms;
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ 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 178 of file AthMessaging.h.

179{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 if (m_lvl <= lvl) {
154 msg() << lvl;
155 return true;
156 } else {
157 return false;
158 }
159}

◆ nLayerPerReadout()

unsigned int MuonGMR4::SpectrometerSector::nLayerPerReadout ( const MuonReadoutElement * rele) const
private

Helper function giving the number of measurement layers in a given readout ele.

Definition at line 229 of file SpectrometerSector.cxx.

229 {
230
231 switch (rele->detectorType()) {
233 auto mdtRele = dynamic_cast<const MdtReadoutElement*>(rele);
234 return mdtRele->numLayers();
235 }
237 auto rpcRele = dynamic_cast<const RpcReadoutElement*>(rele);
238 return rpcRele->nGasGaps();
239 }
241 auto tgcRele = dynamic_cast<const TgcReadoutElement*>(rele);
242 return tgcRele->nGasGaps();
243 }
245 auto stgcRele = dynamic_cast<const sTgcReadoutElement*>(rele);
246 return stgcRele->numLayers();
247 }
249 auto mmRele = dynamic_cast<const MmReadoutElement*>(rele);
250 return mmRele->nGasGaps();
251 }
252 default:
253 THROW_EXCEPTION("Unexpected Readout Element Type in nLayerPerReadout()");
254 }
255}

◆ operator<()

bool MuonGMR4::SpectrometerSector::operator< ( const SpectrometerSector & other) const

Definition at line 45 of file SpectrometerSector.cxx.

45 {
46 return m_args.id < other.m_args.id;
47}

◆ operator=()

SpectrometerSector & MuonGMR4::SpectrometerSector::operator= ( const SpectrometerSector & other)
delete

◆ parameters()

const SpectrometerSector::defineArgs & MuonGMR4::SpectrometerSector::parameters ( ) const

Returns the reference to the defining parameters of the sector.

Definition at line 51 of file SpectrometerSector.cxx.

51{ return m_args; }

◆ readoutEles()

Chamber::ReadoutSet MuonGMR4::SpectrometerSector::readoutEles ( ) const

Returns the list of all associated readout elements.

Definition at line 82 of file SpectrometerSector.cxx.

82 {
83 Chamber::ReadoutSet toReturn{};
84 for (const ChamberPtr& ch : chambers()) {
85 toReturn.insert(toReturn.end(), ch->readoutEles().begin(), ch->readoutEles().end());
86 }
87 return toReturn;
88}
const ChamberSet & chambers() const
Returns the associated chambers with this sector.
GeoModel::TransientConstSharedPtr< Chamber > ChamberPtr

◆ sector()

int MuonGMR4::SpectrometerSector::sector ( ) const

Returns the sector of the MS-sector.

Definition at line 55 of file SpectrometerSector.cxx.

55{return m_args.chambers.front()->sector(); }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
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.

29{
30 m_lvl = lvl;
31}

◆ side()

int8_t MuonGMR4::SpectrometerSector::side ( ) const

Returns the side of the MS-sector 1 -> A side ; -1 -> C side.

Definition at line 48 of file SpectrometerSector.cxx.

48 {
49 return m_args.chambers.front()->stationEta() > 0 ? 1 : -1;
50}

◆ stationPhi()

int MuonGMR4::SpectrometerSector::stationPhi ( ) const

: Returns the station phi of the sector

Definition at line 54 of file SpectrometerSector.cxx.

54{ return m_args.chambers.front()->stationPhi(); }

◆ surface()

const Acts::PlaneSurface & MuonGMR4::SpectrometerSector::surface ( ) const

Returns the associated surface.

Definition at line 63 of file SpectrometerSector.cxx.

63 {
64 return *m_args.surface;
65}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_args

defineArgs MuonGMR4::SpectrometerSector::m_args {}
private

Definition at line 173 of file SpectrometerSector.h.

173{};

◆ m_detLayIdCache

const std::unordered_map<const MuonReadoutElement*, std::vector<unsigned int> > MuonGMR4::SpectrometerSector::m_detLayIdCache {fillDetLayIdCache()}
private

Map mapping each Readout Element to the layer numbering in the sector frame.

Definition at line 178 of file SpectrometerSector.h.

std::unordered_map< const MuonReadoutElement *, std::vector< unsigned int > > fillDetLayIdCache() const
Function filling the map mapping the readout elements to layer numbers.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ 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_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.


The documentation for this class was generated from the following files: