ATLAS Offline Software
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
 SpectrometerSector (const SpectrometerSector &other)=delete
 Delete the copy constructor and copy assignment. More...
 
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. More...
 
const Muon::IMuonIdHelperSvcidHelperSvc () 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::Transform3DlocalToGlobalTrans (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 ChamberSetchambers () 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 defineArgsparameters () 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...
 

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

Definition at line 42 of file SpectrometerSector.h.

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

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

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

◆ boundingVolume()

std::shared_ptr< Acts::Volume > MuonGMR4::SpectrometerSector::boundingVolume ( const ActsGeometryContext gctx) const

Returns the Acts::Volume representation of the sector.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 87 of file SpectrometerSector.cxx.

87  {
88  return std::make_shared<Acts::Volume>(localToGlobalTrans(gctx), bounds());
89 }

◆ bounds()

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

Returns the volume bounds.

Definition at line 90 of file SpectrometerSector.cxx.

90  {
91  return m_args.bounds;
92 }

◆ chamberIndex()

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

Returns the chamber index scheme.

Definition at line 62 of file SpectrometerSector.cxx.

62 { 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 100 of file SpectrometerSector.cxx.

100  {
101  return m_args.detectorLocs;
102 
103 }

◆ chambers()

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

Returns the associated chambers with this sector.

Definition at line 71 of file SpectrometerSector.cxx.

71 { 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 196 of file SpectrometerSector.cxx.

196  {
197 
198  switch (rele->detectorType()) {
200  auto mdtRele = dynamic_cast<const MdtReadoutElement*>(rele);
201  return idHelperSvc()->mdtIdHelper().channelID(mdtRele->stationName(), 1,
202  mdtRele->stationPhi(),
203  mdtRele->multilayer(),
204  1,1);
205  }
207  auto rpcRele = dynamic_cast<const RpcReadoutElement*>(rele);
208  return idHelperSvc()->rpcIdHelper().channelID(rpcRele->stationName(), 1,
209  rpcRele->stationPhi(),
210  rpcRele->doubletR(), 1, 1,
211  1, 0, 1);
212  }
214  auto tgcRele = dynamic_cast<const TgcReadoutElement*>(rele);
215  return idHelperSvc()->tgcIdHelper().channelID(tgcRele->stationName(), 1,
216  tgcRele->stationPhi(),
217  1, 0, 1);
218  }
220  auto stgcRele = dynamic_cast<const sTgcReadoutElement*>(rele);
221  return idHelperSvc()->stgcIdHelper().channelID(stgcRele->stationName(), 1,
222  stgcRele->stationPhi(),
223  stgcRele->multilayer(),
224  1, 0, 1);
225  }
227  auto mmRele = dynamic_cast<const MmReadoutElement*>(rele);
228  return idHelperSvc()->mmIdHelper().channelID(mmRele->stationName(), 1,
229  mmRele->stationPhi(),
230  mmRele->multilayer(),
231  1, 1);
232  }
233  default:
234  THROW_EXCEPTION("Unexpected Readout Element Type in computeDetLayerId()");
235  }
236 }

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

127  {
128 
129  std::unordered_map<const MuonReadoutElement*, std::vector<unsigned int>> cache{};
130  const ActsGeometryContext gctx{};
131  const Amg::Transform3D sectorTrans = globalToLocalTrans(gctx);
132 
133  // sort the Readout elements by z in the sector fram
134  Chamber::ReadoutSet reEleSorted {readoutEles()};
135  std::ranges::sort(reEleSorted, [&sectorTrans, &gctx](const MuonReadoutElement* reEle1, const MuonReadoutElement* reEle2)-> bool {
136  return (sectorTrans * reEle1->center(gctx, reEle1->identify())).z() < (sectorTrans * reEle2->center(gctx, reEle2->identify())).z();
137  });
138 
139  // this is a function to find the next logical layer, returning the corresponding reEle and Id
140  auto nextLayer = [this, &cache, &reEleSorted](const Identifier& lastId) ->
141  std::pair<const MuonReadoutElement*, const Identifier> {
142 
143  const MuonReadoutElement* nextReEle {nullptr};
144  Identifier nextId {};
145 
146  for (const MuonReadoutElement* reEle : reEleSorted){
147 
148  // Check if this reEle has already been filled up
149  if (cache.count(reEle)) continue;
150 
151  // compute the logical layer Id of the first layer of the reEle (first layer/gasgap, first channel, projecting to
152  // stationEta=1, doubletZ=1, doubletPhi=1, according to the technology)
153  const Identifier logicalId {computeDetLayerId(reEle)};
154 
155  //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)
156  if (logicalId == lastId){
157  return std::make_pair(reEle, logicalId);
158  }
159 
160  // Save the next (subsequent) logic layer in z
161  if (!nextReEle) {
162  nextReEle = reEle;
163  nextId = logicalId;
164  }
165 
166  }
167  return std::make_pair(nextReEle, nextId);
168  };
169 
170  unsigned int layCounter {0}, nIter {0};
171  Identifier lastId {};
172  while(++nIter <= reEleSorted.size()){
173 
174  auto [nextReEle, nextId] = nextLayer(lastId);
175  if (!nextReEle){
176  THROW_EXCEPTION("Failed to retrieve next reEle in fillDetLayIdCache()");
177  }
178 
179  unsigned int nLayers = nLayerPerReadout(nextReEle);
180 
181  if (nextId != lastId) {
182  cache[nextReEle] = range(layCounter, layCounter + nLayers);
183  lastId = nextId;
184  layCounter += nLayers;
185  }
186  else{
187  cache[nextReEle] = range(layCounter - nLayers, layCounter);
188  }
189 
190  ATH_MSG_DEBUG( identString() << " ReEle: " << idHelperSvc()->toStringDetEl(nextReEle->identify()) <<
191  " Add logicLay: " << idHelperSvc()->toStringGasGap(nextId) << " nInserted, layCounter " << cache.at(nextReEle).size() << " ," << layCounter);
192  }
193  return cache;
194 };

◆ globalToLocalTrans()

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.

78  {
79  return localToGlobalTrans(gctx).inverse();
80 }

◆ halfXLong()

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.

81 { return m_args.bounds->get(BoundEnums::eHalfLengthXposY); }

◆ halfXShort()

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.

82 { return m_args.bounds->get(BoundEnums::eHalfLengthXnegY); }

◆ halfY()

double MuonGMR4::SpectrometerSector::halfY ( ) const

Extend of the chamber in the y-direction.

Definition at line 83 of file SpectrometerSector.cxx.

83 { return m_args.bounds->get(BoundEnums::eHalfLengthY); }

◆ halfZ()

double MuonGMR4::SpectrometerSector::halfZ ( ) const

Thickness of the chamber in the z-direction.

Definition at line 84 of file SpectrometerSector.cxx.

84 { return m_args.bounds->get(BoundEnums::eHalfLengthZ); }

◆ identString()

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.

66  {
67  return std::format("{:} {:}-side sector: {:2}",
69  side() == 1 ? 'A' : 'C' , sector());
70 }

◆ idHelperSvc()

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

Returns the IdHelpeSvc.

Definition at line 61 of file SpectrometerSector.cxx.

61 { 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  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ localToGlobalTrans()

const Amg::Transform3D & MuonGMR4::SpectrometerSector::localToGlobalTrans ( const ActsGeometryContext gctx) const

Returns the local -> global tarnsformation from the sector.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 75 of file SpectrometerSector.cxx.

75  {
76  return surface().transform(gctx.context());
77 }

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

122  {
123  return m_detLayIdCache.at(reEle);
124 };

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

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ 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
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_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

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

238  {
239 
240  switch (rele->detectorType()) {
242  auto mdtRele = dynamic_cast<const MdtReadoutElement*>(rele);
243  return mdtRele->numLayers();
244  }
246  auto rpcRele = dynamic_cast<const RpcReadoutElement*>(rele);
247  return rpcRele->nGasGaps();
248  }
250  auto tgcRele = dynamic_cast<const TgcReadoutElement*>(rele);
251  return tgcRele->nGasGaps();
252  }
254  auto stgcRele = dynamic_cast<const sTgcReadoutElement*>(rele);
255  return stgcRele->numLayers();
256  }
258  auto mmRele = dynamic_cast<const MmReadoutElement*>(rele);
259  return mmRele->nGasGaps();
260  }
261  default:
262  THROW_EXCEPTION("Unexpected Readout Element Type in nLayerPerReadout()");
263  }
264 }

◆ operator<()

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

Definition at line 45 of file SpectrometerSector.cxx.

45  {
46  if (side() != other.side()) {
47  return side() < other.side();
48  }
49  if (sector() != other.sector()) {
50  return sector() < other.sector();
51  }
52  if (other.chamberIndex() != chamberIndex()) {
53  return chamberIndex() < other.chamberIndex();
54  }
55  return (*m_args.chambers.front()) < (*other.m_args.chambers.front());
56 }

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

60 { return m_args; }

◆ readoutEles()

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

Returns the list of all associated readout elements.

Definition at line 93 of file SpectrometerSector.cxx.

93  {
94  Chamber::ReadoutSet toReturn{};
95  for (const ChamberPtr& ch : chambers()) {
96  toReturn.insert(toReturn.end(), ch->readoutEles().begin(), ch->readoutEles().end());
97  }
98  return toReturn;
99 }

◆ sector()

int MuonGMR4::SpectrometerSector::sector ( ) const

Returns the sector of the MS-sector.

Definition at line 64 of file SpectrometerSector.cxx.

64 {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 57 of file SpectrometerSector.cxx.

57  {
58  return m_args.chambers.front()->stationEta() > 0 ? 1 : -1;
59 }

◆ stationPhi()

int MuonGMR4::SpectrometerSector::stationPhi ( ) const

: Returns the station phi of the sector

Definition at line 63 of file SpectrometerSector.cxx.

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

◆ surface()

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

Returns the associated surface.

Definition at line 72 of file SpectrometerSector.cxx.

72  {
73  return *m_args.surface;
74 }

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.

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

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_lvl

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

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ 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:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
MuonGMR4::SpectrometerSector::ChamberPtr
GeoModel::TransientConstSharedPtr< Chamber > ChamberPtr
Definition: SpectrometerSector.h:42
Muon::IMuonIdHelperSvc::stgcIdHelper
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
MuonGMR4::SpectrometerSector::sector
int sector() const
Returns the sector of the MS-sector.
Definition: SpectrometerSector.cxx:64
MuonGMR4::SpectrometerSector::side
int8_t side() const
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
Definition: SpectrometerSector.cxx:57
vtune_athena.format
format
Definition: vtune_athena.py:14
python.CaloAddPedShiftConfig.args
args
Definition: CaloAddPedShiftConfig.py:47
MuonGMR4::SpectrometerSector::computeDetLayerId
Identifier computeDetLayerId(const MuonReadoutElement *rele) const
Helper function calculating the logic layer Id and the physical layer id.
Definition: SpectrometerSector.cxx:196
calibdata.chamber
chamber
Definition: calibdata.py:31
sTgcIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
Definition: sTgcIdHelper.cxx:886
MuonGMR4::SpectrometerSector::chambers
const ChamberSet & chambers() const
Returns the associated chambers with this sector.
Definition: SpectrometerSector.cxx:71
MuonGMR4::SpectrometerSector::m_args
defineArgs m_args
Definition: SpectrometerSector.h:173
MuonGMR4::SpectrometerSector::readoutEles
Chamber::ReadoutSet readoutEles() const
Returns the list of all associated readout elements.
Definition: SpectrometerSector.cxx:93
ActsTrk::DetectorType::Tgc
@ Tgc
Resitive Plate Chambers.
RpcIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int doubletR, int doubletZ, int doubletPhi, int gasGap, int measuresPhi, int strip) const
Definition: RpcIdHelper.cxx:931
ActsTrk::DetectorType::sTgc
@ sTgc
Micromegas (NSW)
Muon::IMuonIdHelperSvc::mmIdHelper
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
MuonGMR4::SpectrometerSector::identString
std::string identString() const
Returns a string encoding the chamber index & the sector of the MS sector.
Definition: SpectrometerSector.cxx:66
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonGMR4::SpectrometerSector::m_detLayIdCache
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.
Definition: SpectrometerSector.h:178
ActsGeometryContext::context
Acts::GeometryContext context() const
Definition: ActsGeometryContext.h:45
MuonGMR4::SpectrometerSector::chamberIndex
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index scheme.
Definition: SpectrometerSector.cxx:62
AthMessaging::AthMessaging
AthMessaging()
Default constructor:
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ActsTrk::DetectorType::Mm
@ Mm
Maybe not needed in the migration.
Muon::MuonStationIndex::chName
const std::string & chName(ChIndex index)
convert ChIndex into a string
Definition: MuonStationIndex.cxx:119
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonGMR4::SpectrometerSector::globalToLocalTrans
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &gctx) const
Returns the global -> local transformation from the ATLAS global.
Definition: SpectrometerSector.cxx:78
MuonGMR4::SpectrometerSector::nLayerPerReadout
unsigned int nLayerPerReadout(const MuonReadoutElement *rele) const
Helper function giving the number of measurement layers in a given readout ele.
Definition: SpectrometerSector.cxx:238
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonGMR4::Chamber::ReadoutSet
std::vector< const MuonReadoutElement * > ReadoutSet
Define the list of read out elements of the chamber.
Definition: Chamber.h:26
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
MuonGMR4::SpectrometerSector::surface
const Acts::PlaneSurface & surface() const
Returns the associated surface.
Definition: SpectrometerSector.cxx:72
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
ActsTrk::DetectorType::Mdt
@ Mdt
MuonSpectrometer.
MuonGMR4::SpectrometerSector::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the IdHelpeSvc.
Definition: SpectrometerSector.cxx:61
MdtIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int tubeLayer, int tube) const
Definition: MdtIdHelper.cxx:659
MuonGMR4::SpectrometerSector::defineArgs::surface
std::shared_ptr< const Acts::PlaneSurface > surface
Surface in the centre of the chamber plane.
Definition: SpectrometerSector.h:112
Muon::IMuonIdHelperSvc::mdtIdHelper
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
MuonGMR4::SpectrometerSector::defineArgs::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds
Surrouding box chamber bounds.
Definition: SpectrometerSector.h:110
MuonGMR4::SpectrometerSector::defineArgs::chambers
ChamberSet chambers
List of readout elements in the chamber.
Definition: SpectrometerSector.h:108
MuonGMR4::SpectrometerSector::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds() const
Returns the volume bounds.
Definition: SpectrometerSector.cxx:90
THROW_EXCEPTION
#define THROW_EXCEPTION(MESSAGE)
Definition: throwExcept.h:10
Muon::IMuonIdHelperSvc::tgcIdHelper
virtual const TgcIdHelper & tgcIdHelper() const =0
access to TgcIdHelper
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
MuonGMR4::SpectrometerSector::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &gctx) const
Returns the local -> global tarnsformation from the sector.
Definition: SpectrometerSector.cxx:75
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
ActsTrk::DetectorType::Rpc
@ Rpc
Monitored Drift Tubes.
TgcIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int gasGap, int isStrip, int channel) const
Definition: TgcIdHelper.cxx:583
MuonGMR4::SpectrometerSector::defineArgs::detectorLocs
std::vector< chamberLocation > detectorLocs
Definition: SpectrometerSector.h:114
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
MmIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channel) const
Definition: MmIdHelper.cxx:736
Muon::IMuonIdHelperSvc::rpcIdHelper
virtual const RpcIdHelper & rpcIdHelper() const =0
access to RpcIdHelper
python.SystemOfUnits.ms
float ms
Definition: SystemOfUnits.py:148
Identifier
Definition: IdentifierFieldParser.cxx:14