ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
MuonGM::MuonDetectorManager Class Reference

The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and provides access to all main blocks of information needed by generic clients of the geometry: XxxReadoutElements, MuonStations, MuonIdHelpers, geometryVersion, etc. More...

#include <MuonDetectorManager.h>

Inheritance diagram for MuonGM::MuonDetectorManager:
Collaboration diagram for MuonGM::MuonDetectorManager:

Public Member Functions

 MuonDetectorManager ()
 
 ~MuonDetectorManager ()
 
virtual unsigned int getNumTreeTops () const
 
virtual PVConstLink getTreeTop (unsigned int i) const
 
PVLink getTreeTop (unsigned int i)
 
void addTreeTop (PVLink)
 
void addMdtReadoutElement (std::unique_ptr< MdtReadoutElement > &&reEle)
 store the MdtReadoutElement using as "key" the identifier More...
 
void addRpcReadoutElement (std::unique_ptr< RpcReadoutElement > &&reEle)
 store the RpcReadoutElement using as "key" the identifier More...
 
void addTgcReadoutElement (std::unique_ptr< TgcReadoutElement > &&reEle)
 store the TgcReadoutElement using as "key" the identifier More...
 
void addCscReadoutElement (std::unique_ptr< CscReadoutElement > &&reEle)
 store the CscReadoutElement using as "key" the identifier More...
 
void addsTgcReadoutElement (std::unique_ptr< sTgcReadoutElement > &&reEle)
 store the sTGCReadoutElement using as "key" the identifier More...
 
void addMMReadoutElement (std::unique_ptr< MMReadoutElement > &&reEle)
 store the MMReadoutElement using as "key" the identifier More...
 
const MdtReadoutElementgetMdtReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const RpcReadoutElementgetRpcReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const TgcReadoutElementgetTgcReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const CscReadoutElementgetCscReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const MMReadoutElementgetMMReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const sTgcReadoutElementgetsTgcReadoutElement (const Identifier &id) const
 access via extended identifier (requires unpacking) More...
 
const MuonReadoutElementgetReadoutElement (const Identifier &id) const
 Get any read out element. More...
 
MdtReadoutElementgetMdtReadoutElement (const Identifier &id)
 
CscReadoutElementgetCscReadoutElement (const Identifier &id)
 
TgcReadoutElementgetTgcReadoutElement (const Identifier &id)
 
const MdtReadoutElementgetMdtReadoutElement (const IdentifierHash &id) const
 access via detector-element hash id More...
 
const RpcReadoutElementgetRpcReadoutElement (const IdentifierHash &id) const
 access via detector-element hash id More...
 
const TgcReadoutElementgetTgcReadoutElement (const IdentifierHash &id) const
 access via detector-element hash id More...
 
const CscReadoutElementgetCscReadoutElement (const IdentifierHash &id) const
 access via detector-element hash id More...
 
unsigned int nMuonStation () const
 Number of MuonStations. More...
 
unsigned int nMdtRE () const
 Number of Mdt ReadoutElements. More...
 
unsigned int nsTgcRE () const
 Number of sTgc ReadoutElements. More...
 
unsigned int nMMRE () const
 Number of MM ReadoutElements. More...
 
unsigned int nCscRE () const
 Number of Csc ReadoutElements. More...
 
unsigned int nRpcRE () const
 Number of Rpc ReadoutElements. More...
 
unsigned int nTgcRE () const
 Number of Tgc ReadoutElements. More...
 
unsigned int nMdtDE () const
 Number of Mdt DetectorElements. More...
 
unsigned int nCscDE () const
 Number of Csc DetectorElements. More...
 
unsigned int nRpcDE () const
 Number of Rpc DetectorElements. More...
 
unsigned int nTgcDE () const
 Number of Tgc DetectorElements. More...
 
const std::string & geometryVersion () const
 it can be Rome-Initial or P03, or ... More...
 
void setGeometryVersion (const std::string &version)
 
const std::string & get_DBMuonVersion () const
 the name of the MuonSpectrometer tag (in the geometry DB) actually accessed More...
 
void set_DBMuonVersion (const std::string &version)
 
const MdtIdHelpermdtIdHelper () const
 
const CscIdHelpercscIdHelper () const
 
const RpcIdHelperrpcIdHelper () const
 
const TgcIdHelpertgcIdHelper () const
 
const sTgcIdHelperstgcIdHelper () const
 
const MmIdHelpermmIdHelper () const
 
void setMinimalGeoFlag (int flag)
 
int MinimalGeoFlag () const
 
void setCutoutsFlag (int flag)
 
int IncludeCutoutsFlag () const
 
void setCutoutsBogFlag (int flag)
 
int IncludeCutoutsBogFlag () const
 
void addMuonStation (std::unique_ptr< MuonStation > &&mst)
 
const MuonStationgetMuonStation (const std::string &stName, int eta, int phi) const
 
MuonStationgetMuonStation (const std::string &stName, int eta, int phi)
 
void clearCache ()
 
void fillCache ()
 
StatusCode updateAlignment (const ALineContainer &a)
 
StatusCode updateDeformations (const BLineContainer &a)
 
StatusCode updateMdtAsBuiltParams (const MdtAsBuiltContainer &a)
 
StatusCode updateCSCInternalAlignmentMap (const ALineContainer &cscIntAline)
 
void setNswAsBuilt (const NswAsBuiltDbData *nswAsBuiltData)
 
const NswAsBuilt::StripCalculatorgetMMAsBuiltCalculator () const
 
const NswAsBuilt::StgcStripCalculatorgetStgcAsBuiltCalculator () const
 
int rpcStationName (const int stationIndex) const
 
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...
 

Static Public Member Functions

static std::string muonStationKey (const std::string &stName, int statEtaIndex, int statPhiIndex)
 

Static Public Attributes

static constexpr int NCscStEtaOffset = 1
 Identifier <-> AMDB conversion constants in use. More...
 
static constexpr int NTgcStatTypeOff = -41
 
static constexpr int NTgcStEtaOffset = 5
 

Private Types

enum  RpcStatType {
  BML = 0, BMS, BOL, BOS,
  BMF, BOF, BOG, BME,
  BIR, BIM, BIL, BIS,
  UNKNOWN
}
 

Private Member Functions

void loadStationIndices ()
 
unsigned int rpcStationTypeIdx (const int stationName) const
 
int rpcIdentToArrayIdx (const Identifier &id) const
 Helper method to convert the Identifier into the corresponding index accessing the array. More...
 
int tgcIdentToArrayIdx (const Identifier &id) const
 
int cscIdentToArrayIdx (const Identifier &id) const
 
int stgcIdentToArrayIdx (const Identifier &id) const
 
int mmIdenToArrayIdx (const Identifier &id) const
 
int mdtIdentToArrayIdx (const Identifier &id) const
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", "MuonDetectorManager"}
 
int m_minimalgeo {0}
 
int m_includeCutouts {0}
 
int m_includeCutoutsBog {0}
 
std::vector< PVLink > m_envelope
 
std::string m_geometryVersion {}
 
std::string m_DBMuonVersion {}
 
std::vector< std::unique_ptr< MdtReadoutElement > > m_mdtArray
 
std::vector< std::unique_ptr< CscReadoutElement > > m_cscArray
 
std::vector< std::unique_ptr< TgcReadoutElement > > m_tgcArray
 
std::vector< std::unique_ptr< RpcReadoutElement > > m_rpcArray
 
std::vector< std::unique_ptr< sTgcReadoutElement > > m_stgArray
 
std::vector< std::unique_ptr< MMReadoutElement > > m_mmcArray
 
std::map< std::string, std::unique_ptr< MuonStation > > m_MuonStationMap
 
unsigned int m_n_mdtRE {0}
 
unsigned int m_n_cscRE {0}
 
unsigned int m_n_rpcRE {0}
 
unsigned int m_n_tgcRE {0}
 
unsigned int m_n_stgRE {0}
 
unsigned int m_n_mmcRE {0}
 
unsigned int m_n_mdtDE {0}
 
unsigned int m_n_cscDE {0}
 
unsigned int m_n_rpcDE {0}
 
unsigned int m_n_tgcDE {0}
 
const NswAsBuiltDbDatam_nswAsBuilt {nullptr}
 
std::map< int, int > m_rpcStatToIdx
 RPC name caches. More...
 
std::map< int, int > m_rpcIdxToStat
 
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

The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and provides access to all main blocks of information needed by generic clients of the geometry: XxxReadoutElements, MuonStations, MuonIdHelpers, geometryVersion, etc.

More details below.

Definition at line 49 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

Member Enumeration Documentation

◆ RpcStatType

Enumerator
BML 
BMS 
BOL 
BOS 
BMF 
BOF 
BOG 
BME 
BIR 
BIM 
BIL 
BIS 
UNKNOWN 

Definition at line 170 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

170 { BML = 0, BMS, BOL, BOS, BMF, BOF, BOG, BME, BIR, BIM, BIL, BIS, UNKNOWN };

Constructor & Destructor Documentation

◆ MuonDetectorManager()

MuonGM::MuonDetectorManager::MuonDetectorManager ( )

Definition at line 38 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

38  : AthMessaging{"MGM::MuonDetectorManager"} {
39  setName("Muon");
40  if (m_idHelperSvc.retrieve().isFailure()) {
41  THROW_EXCEPTION("MuonDetectorManager() - No IdHelper svc is available");
42  }
44  if (m_idHelperSvc->hasMDT()){
45  m_mdtArray.resize(m_idHelperSvc->mdtIdHelper().detectorElement_hash_max());
46  }
47  if (m_idHelperSvc->hasCSC()){
48  m_cscArray.resize(m_idHelperSvc->cscIdHelper().detectorElement_hash_max());
49  }
50  if (m_idHelperSvc->hasTGC()){
51  m_tgcArray.resize(m_idHelperSvc->tgcIdHelper().detectorElement_hash_max());
52  }
53  if (m_idHelperSvc->hasRPC()){
54  m_rpcArray.resize(m_idHelperSvc->rpcIdHelper().detectorElement_hash_max());
55  }
56 
57  if (m_idHelperSvc->hasMM()){
58  m_mmcArray.resize(m_idHelperSvc->mmIdHelper().detectorElement_hash_max());
59  }
60  if (m_idHelperSvc->hasSTGC()){
61  m_stgArray.resize(m_idHelperSvc->stgcIdHelper().detectorElement_hash_max());
62  }
63  }

◆ ~MuonDetectorManager()

MuonGM::MuonDetectorManager::~MuonDetectorManager ( )
default

Member Function Documentation

◆ addCscReadoutElement()

void MuonGM::MuonDetectorManager::addCscReadoutElement ( std::unique_ptr< CscReadoutElement > &&  reEle)

store the CscReadoutElement using as "key" the identifier

Definition at line 214 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

214  {
215  const Identifier id = x->identify();
216  const int array_idx = cscIdentToArrayIdx(id);
217  if (m_cscArray[array_idx]) {
218  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(id)<<" which has been already added.");
219  THROW_EXCEPTION("Double readout element assignment");
220  }
221  m_cscArray[array_idx] = std::move(x);
222  ++m_n_cscRE;
223  }

◆ addMdtReadoutElement()

void MuonGM::MuonDetectorManager::addMdtReadoutElement ( std::unique_ptr< MdtReadoutElement > &&  reEle)

store the MdtReadoutElement using as "key" the identifier

Definition at line 193 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

193  {
194  const Identifier id = x->identify();
195  const int arrayIdx = mdtIdentToArrayIdx(id);
196  if (m_mdtArray[arrayIdx]) {
197  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(id)<<" which has been already added.");
198  THROW_EXCEPTION("Double readout element assignment");
199  }
200  m_mdtArray[arrayIdx] = std::move(x);
201  ++m_n_mdtRE;
202  }

◆ addMMReadoutElement()

void MuonGM::MuonDetectorManager::addMMReadoutElement ( std::unique_ptr< MMReadoutElement > &&  reEle)

store the MMReadoutElement using as "key" the identifier

Definition at line 173 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

173  {
174  const int array_idx = mmIdenToArrayIdx(x->identify());
175  if (m_mmcArray[array_idx]) {
176  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(x->identify())<<" which has been already added.");
177  THROW_EXCEPTION("Double readout element assignment");
178  }
179  m_mmcArray[array_idx] = std::move(x);
180  ++m_n_mmcRE;
181  }

◆ addMuonStation()

void MuonGM::MuonDetectorManager::addMuonStation ( std::unique_ptr< MuonStation > &&  mst)

Definition at line 121 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

121  {
122  std::string key = muonStationKey(mst->getStationType(), mst->getEtaIndex(), mst->getPhiIndex());
123  m_MuonStationMap[key] = std::move(mst);
124  }

◆ addRpcReadoutElement()

void MuonGM::MuonDetectorManager::addRpcReadoutElement ( std::unique_ptr< RpcReadoutElement > &&  reEle)

store the RpcReadoutElement using as "key" the identifier

Definition at line 157 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

157  {
158  const Identifier id = x->identify();
159  int idx = rpcIdentToArrayIdx(id);
160  if (m_rpcArray[idx]) {
161  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(id)<<" which has been already added.");
162  THROW_EXCEPTION("Double readout element assignment");
163  }
164  m_rpcArray[idx] = std::move(x);
165  ++m_n_rpcRE;
166  }

◆ addsTgcReadoutElement()

void MuonGM::MuonDetectorManager::addsTgcReadoutElement ( std::unique_ptr< sTgcReadoutElement > &&  reEle)

store the sTGCReadoutElement using as "key" the identifier

Definition at line 183 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

183  {
184  const int array_idx = stgcIdentToArrayIdx(x->identify());
185  if (m_stgArray[array_idx]) {
186  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(x->identify())<<" which has been already added.");
187  THROW_EXCEPTION("Double readout element assignment");
188  }
189  m_stgArray[array_idx] = std::move(x);
190  ++m_n_stgRE;
191  }

◆ addTgcReadoutElement()

void MuonGM::MuonDetectorManager::addTgcReadoutElement ( std::unique_ptr< TgcReadoutElement > &&  reEle)

store the TgcReadoutElement using as "key" the identifier

Definition at line 235 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

235  {
236  const Identifier id = x->identify();
237  const int array_idx = tgcIdentToArrayIdx(id);
238  if (m_tgcArray[array_idx]) {
239  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" Trying to add ReadoutElement "<<m_idHelperSvc->toStringDetEl(id)<<" which has been already added.");
240  THROW_EXCEPTION("Double readout element assignment");
241  }
242 
243  m_tgcArray[array_idx] = std::move(x);
244  ++m_n_tgcRE;
245  }

◆ addTreeTop()

void MuonGM::MuonDetectorManager::addTreeTop ( PVLink  pV)

Definition at line 117 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

117  {
118  m_envelope.push_back(pV);
119  }

◆ clearCache()

void MuonGM::MuonDetectorManager::clearCache ( )

◆ cscIdentToArrayIdx()

int MuonGM::MuonDetectorManager::cscIdentToArrayIdx ( const Identifier id) const
private

Definition at line 314 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

314  {
315  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
316 #ifndef NDEBUG
317  if (hash <0) {
318  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
319  return -1;
320  }
321 #endif
322  return hash;
323  }

◆ cscIdHelper()

const CscIdHelper * MuonGM::MuonDetectorManager::cscIdHelper ( ) const
inline

Definition at line 224 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

224  {
225  return m_idHelperSvc->hasCSC() ? &(m_idHelperSvc->cscIdHelper()) : nullptr;
226  }

◆ fillCache()

void MuonGM::MuonDetectorManager::fillCache ( )

◆ geometryVersion()

const std::string & MuonGM::MuonDetectorManager::geometryVersion ( ) const
inline

it can be Rome-Initial or P03, or ...

it's the name of the layout

Definition at line 246 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

246 { return m_geometryVersion; }

◆ get_DBMuonVersion()

const std::string & MuonGM::MuonDetectorManager::get_DBMuonVersion ( ) const
inline

the name of the MuonSpectrometer tag (in the geometry DB) actually accessed

Definition at line 247 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

247 { return m_DBMuonVersion; }

◆ getCscReadoutElement() [1/3]

CscReadoutElement * MuonGM::MuonDetectorManager::getCscReadoutElement ( const Identifier id)

Definition at line 230 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

230  {
231  const int array_idx = cscIdentToArrayIdx(id);
232  return array_idx < 0 ? nullptr : m_cscArray[array_idx].get();
233  }

◆ getCscReadoutElement() [2/3]

const CscReadoutElement * MuonGM::MuonDetectorManager::getCscReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 225 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

225  {
226  const int array_idx = cscIdentToArrayIdx(id);
227  return array_idx < 0 ? nullptr : m_cscArray[array_idx].get();
228  }

◆ getCscReadoutElement() [3/3]

const CscReadoutElement * MuonGM::MuonDetectorManager::getCscReadoutElement ( const IdentifierHash id) const

access via detector-element hash id

Definition at line 629 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

629  {
630 #ifndef NDEBUG
631  if (id >= m_idHelperSvc->cscIdHelper().detectorElement_hash_max()) {
632  ATH_MSG_WARNING(" try to getCscReadoutElement with hashId " << (unsigned int)id << " outside range 0-"
633  << m_idHelperSvc->cscIdHelper().detectorElement_hash_max() - 1 );
634  return nullptr;
635  }
636 #endif
637  return m_cscArray[id].get();
638  }

◆ getMdtReadoutElement() [1/3]

MdtReadoutElement * MuonGM::MuonDetectorManager::getMdtReadoutElement ( const Identifier id)

Definition at line 209 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

209  {
210  const int arrayIdx = mdtIdentToArrayIdx(id);
211  return arrayIdx < 0 ? nullptr : m_mdtArray[arrayIdx].get();
212  }

◆ getMdtReadoutElement() [2/3]

const MdtReadoutElement * MuonGM::MuonDetectorManager::getMdtReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 204 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

204  {
205  const int arrayIdx = mdtIdentToArrayIdx(id);
206  return arrayIdx < 0 ? nullptr : m_mdtArray[arrayIdx].get();
207  }

◆ getMdtReadoutElement() [3/3]

const MdtReadoutElement * MuonGM::MuonDetectorManager::getMdtReadoutElement ( const IdentifierHash id) const

access via detector-element hash id

Definition at line 596 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

596  {
597 #ifndef NDEBUG
598  if (id >= m_idHelperSvc->mdtIdHelper().detectorElement_hash_max()) {
599  ATH_MSG_WARNING(" try to getMdtReadoutElement with hashId " << (unsigned int)id << " outside range 0-"
600  << m_idHelperSvc->mdtIdHelper().detectorElement_hash_max() - 1 );
601  return nullptr;
602  }
603 #endif
604  return m_mdtArray[id].get();
605  }

◆ getMMAsBuiltCalculator()

const NswAsBuilt::StripCalculator* MuonGM::MuonDetectorManager::getMMAsBuiltCalculator ( ) const
inline

Definition at line 149 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

149  {
150  return m_nswAsBuilt ? m_nswAsBuilt->microMegaData.get() : nullptr;
151  }

◆ getMMReadoutElement()

const MMReadoutElement * MuonGM::MuonDetectorManager::getMMReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 255 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

255  {
256  const int array_idx = mmIdenToArrayIdx(id);
257  return array_idx < 0 ? nullptr : m_mmcArray[array_idx].get();
258  }

◆ getMuonStation() [1/2]

MuonStation * MuonGM::MuonDetectorManager::getMuonStation ( const std::string &  stName,
int  eta,
int  phi 
)

Definition at line 147 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

147  {
148  std::string key = muonStationKey(stName, stEtaIndex, stPhiIndex);
149 
150  std::map<std::string, std::unique_ptr<MuonStation>>::const_iterator it = m_MuonStationMap.find(key);
151  if (it != m_MuonStationMap.end())
152  return (*it).second.get();
153  else
154  return nullptr;
155  }

◆ getMuonStation() [2/2]

const MuonStation * MuonGM::MuonDetectorManager::getMuonStation ( const std::string &  stName,
int  eta,
int  phi 
) const

Definition at line 137 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

137  {
138  std::string key = muonStationKey(stName, stEtaIndex, stPhiIndex);
139 
140  std::map<std::string, std::unique_ptr<MuonStation>>::const_iterator it = m_MuonStationMap.find(key);
141  if (it != m_MuonStationMap.end())
142  return (*it).second.get();
143  else
144  return nullptr;
145  }

◆ getNumTreeTops()

unsigned int MuonGM::MuonDetectorManager::getNumTreeTops ( ) const
virtual

Definition at line 113 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

113 { return m_envelope.size(); }

◆ getReadoutElement()

const MuonReadoutElement * MuonGM::MuonDetectorManager::getReadoutElement ( const Identifier id) const

Get any read out element.

Definition at line 84 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

84  {
85  const MuonReadoutElement* reEle{nullptr};
87  switch (m_idHelperSvc->technologyIndex(id)){
88  case TechIndex::MDT:
89  reEle = getMdtReadoutElement(id);
90  break;
91  case TechIndex::RPC:
92  reEle = getRpcReadoutElement(id);
93  break;
94  case TechIndex::TGC:
95  reEle = getTgcReadoutElement(id);
96  break;
97  case TechIndex::CSCI:
98  reEle = getCscReadoutElement(id);
99  break;
100  case TechIndex::MM:
101  reEle = getMMReadoutElement(id);
102  break;
103  case TechIndex::STGC:
104  reEle = getsTgcReadoutElement(id);
105  break;
106  default:
107  ATH_MSG_WARNING("Invalid technology ");
108  };
109  if (!reEle) ATH_MSG_WARNING("No readout element retrieved "<<m_idHelperSvc->toString(id));
110  return reEle;
111  }

◆ getRpcReadoutElement() [1/2]

const RpcReadoutElement * MuonGM::MuonDetectorManager::getRpcReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 168 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

168  {
169  int idx = rpcIdentToArrayIdx(id);
170  return m_rpcArray[idx].get();
171  }

◆ getRpcReadoutElement() [2/2]

const RpcReadoutElement * MuonGM::MuonDetectorManager::getRpcReadoutElement ( const IdentifierHash id) const

access via detector-element hash id

Definition at line 607 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

607  {
608 #ifndef NDEBUG
609  if (id >= m_idHelperSvc->rpcIdHelper().detectorElement_hash_max()) {
610  ATH_MSG_WARNING(" try to getRpcReadoutElement with hashId " << (unsigned int)id << " outside range 0-"
611  << m_idHelperSvc->rpcIdHelper().detectorElement_hash_max() - 1 );
612  return nullptr;
613  }
614 #endif
615  return m_rpcArray[id].get();
616  }

◆ getStgcAsBuiltCalculator()

const NswAsBuilt::StgcStripCalculator* MuonGM::MuonDetectorManager::getStgcAsBuiltCalculator ( ) const
inline

Definition at line 152 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

152  {
153  return m_nswAsBuilt ? m_nswAsBuilt->sTgcData.get() : nullptr; ;
154  }

◆ getsTgcReadoutElement()

const sTgcReadoutElement * MuonGM::MuonDetectorManager::getsTgcReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 259 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

259  {
260  const int array_idx = stgcIdentToArrayIdx(id);
261  return array_idx < 0 ? nullptr : m_stgArray[array_idx].get();
262  }

◆ getTgcReadoutElement() [1/3]

TgcReadoutElement * MuonGM::MuonDetectorManager::getTgcReadoutElement ( const Identifier id)

Definition at line 251 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

251  {
252  const int array_idx = tgcIdentToArrayIdx(id);
253  return array_idx < 0 ? nullptr : m_tgcArray[array_idx].get();
254  }

◆ getTgcReadoutElement() [2/3]

const TgcReadoutElement * MuonGM::MuonDetectorManager::getTgcReadoutElement ( const Identifier id) const

access via extended identifier (requires unpacking)

Definition at line 247 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

247  {
248  const int array_idx = tgcIdentToArrayIdx(id);
249  return array_idx < 0 ? nullptr : m_tgcArray[array_idx].get();
250  }

◆ getTgcReadoutElement() [3/3]

const TgcReadoutElement * MuonGM::MuonDetectorManager::getTgcReadoutElement ( const IdentifierHash id) const

access via detector-element hash id

Definition at line 618 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

618  {
619 #ifndef NDEBUG
620  if (id >= m_idHelperSvc->tgcIdHelper().detectorElement_hash_max()) {
621  ATH_MSG_WARNING(" try to getTgcReadoutElement with hashId " << (unsigned int)id << " outside range 0-"
622  << m_idHelperSvc->tgcIdHelper().detectorElement_hash_max() - 1 );
623  return nullptr;
624  }
625 #endif
626  return m_tgcArray[id].get();
627  }

◆ getTreeTop() [1/2]

PVLink MuonGM::MuonDetectorManager::getTreeTop ( unsigned int  i)

Definition at line 116 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

116 { return m_envelope[i]; }

◆ getTreeTop() [2/2]

PVConstLink MuonGM::MuonDetectorManager::getTreeTop ( unsigned int  i) const
virtual

Definition at line 115 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

115 { return m_envelope[i]; }

◆ IncludeCutoutsBogFlag()

int MuonGM::MuonDetectorManager::IncludeCutoutsBogFlag ( ) const
inline

◆ IncludeCutoutsFlag()

int MuonGM::MuonDetectorManager::IncludeCutoutsFlag ( ) 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.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ loadStationIndices()

void MuonGM::MuonDetectorManager::loadStationIndices ( )
private

Definition at line 651 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

651  {
652 
653  if (!m_idHelperSvc->hasRPC()) return;
654  const RpcIdHelper& rpcHelper{m_idHelperSvc->rpcIdHelper()};
655  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BML"), RpcStatType::BML));
656  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BMS"), RpcStatType::BMS));
657  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BOL"), RpcStatType::BOL));
658  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BOS"), RpcStatType::BOS));
659  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BMF"), RpcStatType::BMF));
660  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BOF"), RpcStatType::BOF));
661  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BOG"), RpcStatType::BOG));
662  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BME"), RpcStatType::BME));
663  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BIR"), RpcStatType::BIR));
664  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BIM"), RpcStatType::BIM));
665  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BIL"), RpcStatType::BIL));
666  m_rpcStatToIdx.insert(std::make_pair(rpcHelper.stationNameIndex("BIS"), RpcStatType::BIS));
667 
668  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BML, rpcHelper.stationNameIndex("BML")));
669  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BMS, rpcHelper.stationNameIndex("BMS")));
670  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BOL, rpcHelper.stationNameIndex("BOL")));
671  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BOS, rpcHelper.stationNameIndex("BOS")));
672  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BMF, rpcHelper.stationNameIndex("BMF")));
673  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BOF, rpcHelper.stationNameIndex("BOF")));
674  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BOG, rpcHelper.stationNameIndex("BOG")));
675  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BME, rpcHelper.stationNameIndex("BME")));
676  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIR, rpcHelper.stationNameIndex("BIR")));
677  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIM, rpcHelper.stationNameIndex("BIM")));
678  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIL, rpcHelper.stationNameIndex("BIL")));
679  m_rpcIdxToStat.insert(std::make_pair(RpcStatType::BIS, rpcHelper.stationNameIndex("BIS")));
680  }

◆ mdtIdentToArrayIdx()

int MuonGM::MuonDetectorManager::mdtIdentToArrayIdx ( const Identifier id) const
private

Definition at line 263 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

263  {
264  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
265 #ifndef NDEBUG
266  if (hash <0) {
267  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
268  return -1;
269  }
270 #endif
271  return hash;
272  }

◆ mdtIdHelper()

const MdtIdHelper * MuonGM::MuonDetectorManager::mdtIdHelper ( ) const
inline

Definition at line 221 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

221  {
222  return m_idHelperSvc->hasMDT() ? &(m_idHelperSvc->mdtIdHelper()) : nullptr;
223  }

◆ MinimalGeoFlag()

int MuonGM::MuonDetectorManager::MinimalGeoFlag ( ) const
inline

◆ mmIdenToArrayIdx()

int MuonGM::MuonDetectorManager::mmIdenToArrayIdx ( const Identifier id) const
private

Definition at line 274 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

274  {
275  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
276 #ifndef NDEBUG
277  if (hash <0) {
278  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
279  return -1;
280  }
281 #endif
282  return hash;
283  }

◆ mmIdHelper()

const MmIdHelper * MuonGM::MuonDetectorManager::mmIdHelper ( ) const
inline

Definition at line 236 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

236  {
237  return m_idHelperSvc->hasMM() ? &(m_idHelperSvc->mmIdHelper()) : nullptr;
238  }

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

◆ muonStationKey()

std::string MuonGM::MuonDetectorManager::muonStationKey ( const std::string &  stName,
int  statEtaIndex,
int  statPhiIndex 
)
static

Definition at line 126 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

126  {
127  std::string key;
128  if (statEtaIndex < 0)
129  key = stName.substr(0, 3) + "_C_zi" + MuonGM::buildString(std::abs(statEtaIndex), 2) + "fi" +
130  MuonGM::buildString(statPhiIndex, 2);
131  else
132  key = stName.substr(0, 3) + "_A_zi" + MuonGM::buildString(std::abs(statEtaIndex), 2) + "fi" +
133  MuonGM::buildString(statPhiIndex, 2);
134  return key;
135  }

◆ nCscDE()

unsigned int MuonGM::MuonDetectorManager::nCscDE ( ) const
inline

Number of Csc DetectorElements.

Definition at line 259 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

259 { return m_n_cscDE; }

◆ nCscRE()

unsigned int MuonGM::MuonDetectorManager::nCscRE ( ) const
inline

Number of Csc ReadoutElements.

Definition at line 252 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

252 { return m_n_cscRE; }

◆ nMdtDE()

unsigned int MuonGM::MuonDetectorManager::nMdtDE ( ) const
inline

Number of Mdt DetectorElements.

Definition at line 258 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

258 { return m_n_mdtDE; }

◆ nMdtRE()

unsigned int MuonGM::MuonDetectorManager::nMdtRE ( ) const
inline

Number of Mdt ReadoutElements.

Definition at line 251 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

251 { return m_n_mdtRE; }

◆ nMMRE()

unsigned int MuonGM::MuonDetectorManager::nMMRE ( ) const
inline

Number of MM ReadoutElements.

Definition at line 256 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

256 { return m_n_mmcRE; }

◆ nMuonStation()

unsigned int MuonGM::MuonDetectorManager::nMuonStation ( ) const
inline

Number of MuonStations.

Definition at line 250 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

250 { return m_MuonStationMap.size(); }

◆ nRpcDE()

unsigned int MuonGM::MuonDetectorManager::nRpcDE ( ) const
inline

Number of Rpc DetectorElements.

Definition at line 260 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

260 { return m_n_rpcDE; }

◆ nRpcRE()

unsigned int MuonGM::MuonDetectorManager::nRpcRE ( ) const
inline

Number of Rpc ReadoutElements.

Definition at line 253 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

253 { return m_n_rpcRE; }

◆ nsTgcRE()

unsigned int MuonGM::MuonDetectorManager::nsTgcRE ( ) const
inline

Number of sTgc ReadoutElements.

Definition at line 255 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

255 { return m_n_stgRE; }

◆ nTgcDE()

unsigned int MuonGM::MuonDetectorManager::nTgcDE ( ) const
inline

Number of Tgc DetectorElements.

Definition at line 261 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

261 { return m_n_tgcDE; }

◆ nTgcRE()

unsigned int MuonGM::MuonDetectorManager::nTgcRE ( ) const
inline

Number of Tgc ReadoutElements.

Definition at line 254 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

254 { return m_n_tgcRE; }

◆ rpcIdentToArrayIdx()

int MuonGM::MuonDetectorManager::rpcIdentToArrayIdx ( const Identifier id) const
private

Helper method to convert the Identifier into the corresponding index accessing the array.

Definition at line 294 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

294  {
295  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
296 #ifndef NDEBUG
297  if (hash <0) {
298  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
299  return -1;
300  }
301 #endif
302  return hash;
303  }

◆ rpcIdHelper()

const RpcIdHelper * MuonGM::MuonDetectorManager::rpcIdHelper ( ) const
inline

Definition at line 227 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

227  {
228  return m_idHelperSvc->hasRPC() ? &(m_idHelperSvc->rpcIdHelper()): nullptr;
229  }

◆ rpcStationName()

int MuonGM::MuonDetectorManager::rpcStationName ( const int  stationIndex) const

Definition at line 646 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

646  {
647  std::map<int, int>::const_iterator itr = m_rpcIdxToStat.find(stationIndex);
648  if (itr != m_rpcIdxToStat.end()) return itr->second;
649  return -1;
650  }

◆ rpcStationTypeIdx()

unsigned int MuonGM::MuonDetectorManager::rpcStationTypeIdx ( const int  stationName) const
private

Definition at line 640 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

640  {
641  std::map<int, int>::const_iterator itr = m_rpcStatToIdx.find(stationName);
642  if (itr != m_rpcStatToIdx.end()) return itr->second;
643  return RpcStatType::UNKNOWN;
644  }

◆ set_DBMuonVersion()

void MuonGM::MuonDetectorManager::set_DBMuonVersion ( const std::string &  version)

◆ setCutoutsBogFlag()

void MuonGM::MuonDetectorManager::setCutoutsBogFlag ( int  flag)

◆ setCutoutsFlag()

void MuonGM::MuonDetectorManager::setCutoutsFlag ( int  flag)

◆ setGeometryVersion()

void MuonGM::MuonDetectorManager::setGeometryVersion ( const std::string &  version)

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

◆ setMinimalGeoFlag()

void MuonGM::MuonDetectorManager::setMinimalGeoFlag ( int  flag)

◆ setNswAsBuilt()

void MuonGM::MuonDetectorManager::setNswAsBuilt ( const NswAsBuiltDbData nswAsBuiltData)

Definition at line 592 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

592  {
593  m_nswAsBuilt = nswAsBuiltData;
594  }

◆ stgcIdentToArrayIdx()

int MuonGM::MuonDetectorManager::stgcIdentToArrayIdx ( const Identifier id) const
private

Definition at line 284 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

284  {
285  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
286 #ifndef NDEBUG
287  if (hash <0) {
288  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
289  return -1;
290  }
291 #endif
292  return hash;
293  }

◆ stgcIdHelper()

const sTgcIdHelper * MuonGM::MuonDetectorManager::stgcIdHelper ( ) const
inline

Definition at line 233 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

233  {
234  return m_idHelperSvc->hasSTGC() ? &(m_idHelperSvc->stgcIdHelper()) : nullptr;
235  }

◆ tgcIdentToArrayIdx()

int MuonGM::MuonDetectorManager::tgcIdentToArrayIdx ( const Identifier id) const
private

Definition at line 304 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

304  {
305  const int hash = static_cast<int>(m_idHelperSvc->detElementHash(id));
306 #ifndef NDEBUG
307  if (hash <0) {
308  ATH_MSG_WARNING("Failed to retrieve a proper hash for "<<m_idHelperSvc->toString(id));
309  return -1;
310  }
311 #endif
312  return hash;
313  }

◆ tgcIdHelper()

const TgcIdHelper * MuonGM::MuonDetectorManager::tgcIdHelper ( ) const
inline

Definition at line 230 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

230  {
231  return m_idHelperSvc->hasTGC() ? &(m_idHelperSvc->tgcIdHelper()) : nullptr;
232  }

◆ updateAlignment()

StatusCode MuonGM::MuonDetectorManager::updateAlignment ( const ALineContainer a)

Definition at line 325 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

325  {
326  if (alineData.empty()) {
327  ATH_MSG_DEBUG("Got empty A-line container (expected for MC), not applying A-lines...");
328  return StatusCode::SUCCESS;
329  }
330 
331  using Parameter = ALinePar::Parameter;
332  // loop over the container of the updates passed by the MuonAlignmentDbTool
333  unsigned int nLines{0}, nUpdates{0};
334  for (const ALinePar& ALine : alineData) {
335  nLines++;
336  ATH_MSG_DEBUG(ALine << " is new. ID = " << m_idHelperSvc->toString(ALine.identify()));
337  const std::string stType = ALine.AmdbStation();
338  const int jff = ALine.AmdbPhi();
339  const int jzz = ALine.AmdbEta();
340  const int job = ALine.AmdbJob();
341  //********************
342  // NSW Cases
343  //********************
344  if (stType[0] == 'M' || stType[0] == 'S') {
345  if (!nMMRE() || !nsTgcRE()) {
346  ATH_MSG_WARNING("Unable to set A-line; the manager does not contain NSW readout elements" );
347  continue;
348  }
349  if (stType[0] == 'M') {
350  // Micromegas
351  const int array_idx = mmIdenToArrayIdx(ALine.identify());
352  MMReadoutElement* RE = m_mmcArray[array_idx].get();
353 
354  if (!RE) {
355  ATH_MSG_WARNING(ALine << " *** No MM readout element found\n"
356  << "PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and Geometry Layout in use");
357  return StatusCode::FAILURE;
358  }
359 
360  RE->setDelta(ALine);
361 
362  } else if (stType[0] == 'S') {
363  // sTGC
364  const int array_idx = stgcIdentToArrayIdx(ALine.identify());
365  sTgcReadoutElement* RE = m_stgArray[array_idx].get();
366 
367  if (!RE) {
368  ATH_MSG_WARNING(ALine << " *** No sTGC readout element found\n"
369  << "PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and Geometry Layout in use");
370  return StatusCode::FAILURE;
371  }
372 
373  RE->setDelta(ALine);
374  }
375  continue;
376  }
377 
378 
379  //********************
380  // Non-NSW Cases
381  //********************
382  MuonStation* thisStation = getMuonStation(stType, jzz, jff);
383  if (!thisStation) {
384  ATH_MSG_WARNING("ALinePar with AmdbId " << stType << " " << jzz << " " << jff << " " << job << "*** No MuonStation found\n"
385  << "PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and Geometry Layout in use" );
386  continue;
387  }
388 
389  if (job != 0) {
390  // job different than 0 (standard for TGC conditions for Sept 2010 repro.)
391  if (stType[0] == 'T') {
392  ATH_MSG_DEBUG( "ALinePar with AmdbId " << stType << " " << jzz << " " << jff << " " << job
393  << " has JOB not 0 - this is expected for TGC" );
394  } else {
395  ATH_MSG_WARNING("ALinePar with AmdbId " << stType << " " << jzz << " " << jff << " " << job
396  << " has JOB not 0 - this is NOT EXPECTED yet for non TGC chambers - skipping this A-line" );
397  continue;
398  }
399  }
400  if (job == 0) {
401  ATH_MSG_DEBUG( "Setting delta transform for Station " << ALine);
402  using Parameter = ALinePar::Parameter;
403  thisStation->setDelta_fromAline(ALine.getParameter(Parameter::transS),
404  ALine.getParameter(Parameter::transZ),
405  ALine.getParameter(Parameter::transT),
406  ALine.getParameter(Parameter::rotS),
407  ALine.getParameter(Parameter::rotZ),
408  ALine.getParameter(Parameter::rotT));
409 
410  thisStation->clearCache();
411  thisStation->fillCache();
412  } else {
413  // job different than 0 (standard for TGC conditions for Sept 2010 repro.)
414  ATH_MSG_DEBUG( "Setting delta transform for component " << ALine);
415  thisStation->setDelta_fromAline_forComp(job,
416  ALine.getParameter(Parameter::transS),
417  ALine.getParameter(Parameter::transZ),
418  ALine.getParameter(Parameter::transT),
419  ALine.getParameter(Parameter::rotS),
420  ALine.getParameter(Parameter::rotZ),
421  ALine.getParameter(Parameter::rotT));
422 
423  thisStation->getMuonReadoutElement(job)->refreshCache();
424 
425  }
426  nUpdates++;
427  }
428  ATH_MSG_INFO( "# of A-lines read from the ALineMapContainer in StoreGate is " << nLines );
429  ATH_MSG_INFO( "# of deltaTransforms updated according to A-lines is " << nUpdates );
430  return StatusCode::SUCCESS;
431  }

◆ updateCSCInternalAlignmentMap()

StatusCode MuonGM::MuonDetectorManager::updateCSCInternalAlignmentMap ( const ALineContainer cscIntAline)

Definition at line 511 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

511  {
512 
513  if (ilineData.empty()) {
514  ATH_MSG_WARNING("Empty temporary CSC I-line container - nothing to do here" );
515  return StatusCode::SUCCESS;
516  } else
517  ATH_MSG_INFO( "temporary CSC I-line container with size = " << ilineData.size() );
518 
519  // loop over the container of the updates passed by the MuonAlignmentDbTool
520  unsigned int nLines{0}, nUpdates{0};
521  for (const ALinePar& ILine : ilineData) {
522  nLines++;
523  const std::string stType = ILine.AmdbStation();
524  const int jff = ILine.AmdbPhi();
525  const int jzz = ILine.AmdbEta();
526  const int job = ILine.AmdbJob();
527  ATH_MSG_DEBUG( "CscInternalAlignmentPar with AmdbId " << ILine << " is new ID = " << m_idHelperSvc->toString(ILine.identify()) );
528  if (job == 3) {
529  MuonStation* thisStation = getMuonStation(stType, jzz, jff);
530  if (!thisStation) {
531  ATH_MSG_WARNING("CscInternalAlignmentPar with AmdbId " << ILine
532  << " *** No MuonStation found \n PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and "
533  "Geometry Layout in use");
534  continue;
535  }
536  ATH_MSG_DEBUG( "Setting CSC I-Lines for Station " <<ILine);
537  CscReadoutElement* CscRE = dynamic_cast<CscReadoutElement*>(thisStation->getMuonReadoutElement(job));
538  if (!CscRE)
539  ATH_MSG_ERROR( "The CSC I-lines container includes stations which are no CSCs! This is impossible." );
540  else {
541  CscRE->setCscInternalAlignmentPar(ILine);
542  }
543  thisStation->refreshCache();
544 
545  nUpdates++;
546 
547  } else {
548  ATH_MSG_ERROR( "job for CSC I-Lines= " << job << " is not 3 => This is not valid." );
549  }
550  }
551  ATH_MSG_INFO( "# of CSC I-lines read from the ILineMapContainer in StoreGate is " << nLines );
552  ATH_MSG_INFO( "# of deltaTransforms updated according to A-lines is " << nUpdates );
553  return StatusCode::SUCCESS;
554  }

◆ updateDeformations()

StatusCode MuonGM::MuonDetectorManager::updateDeformations ( const BLineContainer a)

Definition at line 433 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

433  {
434  ATH_MSG_DEBUG( "In updateDeformations()" );
435  if (blineData.empty()) {
436  ATH_MSG_DEBUG( "Got empty B-line container (expected for MC), not applying B-lines..." );
437  return StatusCode::SUCCESS;
438  } else
439  ATH_MSG_INFO( "temporary B-line container with size = " << blineData.size() );
440 
441  // loop over the container of the updates passed by the MuonAlignmentDbTool
442  unsigned int nLines{0}, nUpdates{0};
443  for (const BLinePar& BLine : blineData) {
444  ++nLines;
445  const std::string stType = BLine.AmdbStation();
446  const int jff = BLine.AmdbPhi();
447  const int jzz = BLine.AmdbEta();
448  const int job = BLine.AmdbJob();
449  //********************
450  // NSW Cases
451  //********************
452  if (stType[0] == 'M' || stType[0] == 'S') {
453  if (!nMMRE() || !nsTgcRE()) {
454  ATH_MSG_WARNING("Unable to set B-line; the manager does not contain NSW readout elements" );
455  continue;
456  }
457  if (stType[0] == 'M') {
458  // Micromegas
459  const int array_idx = mmIdenToArrayIdx(BLine.identify());
460  MMReadoutElement* RE = m_mmcArray[array_idx].get();
461 
462  if (!RE) {
463  ATH_MSG_WARNING("BlinePar with AmdbId " <<BLine<< " *** No MM readout element found\n"
464  << "PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and Geometry Layout in use");
465  return StatusCode::FAILURE;
466  }
467  RE->setBLinePar(BLine);
468  } else if (stType[0] == 'S') {
469  // sTGC
470  const int array_idx = stgcIdentToArrayIdx(BLine.identify());
471  sTgcReadoutElement* RE = m_stgArray[array_idx].get();
472  if (!RE) {
473  ATH_MSG_WARNING("BlinePar with AmdbId " << BLine << " *** No sTGC readout element found\n"
474  << "PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and Geometry Layout in use");
475  return StatusCode::FAILURE;
476  }
477  RE->setBLinePar(BLine);
478  }
479  continue;
480  }
481 
482  //********************
483  // MDT Cases
484  //********************
485  if (stType.at(0) == 'T' || stType.at(0) == 'C' || (stType.substr(0, 3) == "BML" && std::abs(jzz) == 7)) {
486  ATH_MSG_DEBUG( "BLinePar with AmdbId " << BLine << " is not a MDT station - skipping" );
487  continue;
488  }
489  ATH_MSG_DEBUG( "BLinePar with AmdbId " <<BLine << " is new ID = " << m_idHelperSvc->toString(BLine.identify()) );
490  if (job == 0) {
491  MuonStation* thisStation = getMuonStation(stType, jzz, jff);
492  if (!thisStation) {
493  ATH_MSG_WARNING("BLinePar with AmdbId " << BLine <<
494  " *** No MuonStation found \n PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and "
495  "Geometry Layout in use");
496  continue;
497  }
498  ATH_MSG_DEBUG( "Setting deformation parameters for Station " << stType << " " << jzz << " " << jff << " ");
499  thisStation->setBline(&BLine);
500  nUpdates++;
501  } else {
502  ATH_MSG_WARNING("BLinePar with AmdbId " << stType << " " << jzz << " " << jff << " " << job << " has JOB not 0 ");
503  return StatusCode::FAILURE;
504  }
505  }
506  ATH_MSG_INFO( "# of B-lines read from the ALineMapContainer in StoreGate is " << nLines );
507  ATH_MSG_INFO( "# of deform-Transforms updated according to B-lines is " << nUpdates );
508  return StatusCode::SUCCESS;
509  }

◆ updateMdtAsBuiltParams()

StatusCode MuonGM::MuonDetectorManager::updateMdtAsBuiltParams ( const MdtAsBuiltContainer a)

Definition at line 555 of file MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx.

555  {
556 
557  if (asbuiltData.empty()) {
558  ATH_MSG_WARNING("Empty temporary As-Built container - nothing to do here" );
559  return StatusCode::SUCCESS;
560  } else
561  ATH_MSG_INFO( "temporary As-Built container with size = " << asbuiltData.size() );
562 
563  // loop over the container of the updates passed by the MuonAlignmentDbTool
564  unsigned int nLines{0}, nUpdates{0};
565  for (const auto& AsBuiltPar : asbuiltData) {
566  nLines++;
567  const std::string stType = AsBuiltPar.AmdbStation();
568  const int jff = AsBuiltPar.AmdbPhi();
569  const int jzz = AsBuiltPar.AmdbEta();
570 
571  ATH_MSG_DEBUG( "MdtAsBuiltPar with AmdbId " << AsBuiltPar
572  << " is new ID = " << m_idHelperSvc->toString(AsBuiltPar.identify()) );
573 
574  MuonStation* thisStation = getMuonStation(stType, jzz, jff);
575  if (thisStation) {
576 
577  ATH_MSG_DEBUG( "Setting as-built parameters for Station " << AsBuiltPar );
578  thisStation->setMdtAsBuiltParams(&AsBuiltPar);
579  nUpdates++;
580  } else {
581  ATH_MSG_WARNING("MdtAsBuiltPar with AmdbId " <<AsBuiltPar
582  << " *** No MuonStation found \n PLEASE CHECK FOR possible MISMATCHES between alignment constants from COOL and "
583  "Geometry Layout in use");
584  continue;
585  }
586  }
587  ATH_MSG_INFO( "# of MDT As-Built read from the MdtAsBuiltMapContainer in StoreGate is " << nLines );
588  ATH_MSG_INFO( "# of deltaTransforms updated according to As-Built is " << nUpdates );
589  return StatusCode::SUCCESS;
590  }

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_cscArray

std::vector<std::unique_ptr<CscReadoutElement> > MuonGM::MuonDetectorManager::m_cscArray
private

◆ m_DBMuonVersion

std::string MuonGM::MuonDetectorManager::m_DBMuonVersion {}
private

◆ m_envelope

std::vector<PVLink> MuonGM::MuonDetectorManager::m_envelope
private

◆ m_geometryVersion

std::string MuonGM::MuonDetectorManager::m_geometryVersion {}
private

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MuonGM::MuonDetectorManager::m_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", "MuonDetectorManager"}
private

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_includeCutouts

int MuonGM::MuonDetectorManager::m_includeCutouts {0}
private

◆ m_includeCutoutsBog

int MuonGM::MuonDetectorManager::m_includeCutoutsBog {0}
private

◆ m_lvl

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

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_mdtArray

std::vector<std::unique_ptr<MdtReadoutElement> > MuonGM::MuonDetectorManager::m_mdtArray
private

◆ m_minimalgeo

int MuonGM::MuonDetectorManager::m_minimalgeo {0}
private

◆ m_mmcArray

std::vector<std::unique_ptr<MMReadoutElement> > MuonGM::MuonDetectorManager::m_mmcArray
private

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

std::map<std::string, std::unique_ptr<MuonStation> > MuonGM::MuonDetectorManager::m_MuonStationMap
private

◆ m_n_cscDE

unsigned int MuonGM::MuonDetectorManager::m_n_cscDE {0}
private

◆ m_n_cscRE

unsigned int MuonGM::MuonDetectorManager::m_n_cscRE {0}
private

◆ m_n_mdtDE

unsigned int MuonGM::MuonDetectorManager::m_n_mdtDE {0}
private

◆ m_n_mdtRE

unsigned int MuonGM::MuonDetectorManager::m_n_mdtRE {0}
private

◆ m_n_mmcRE

unsigned int MuonGM::MuonDetectorManager::m_n_mmcRE {0}
private

◆ m_n_rpcDE

unsigned int MuonGM::MuonDetectorManager::m_n_rpcDE {0}
private

◆ m_n_rpcRE

unsigned int MuonGM::MuonDetectorManager::m_n_rpcRE {0}
private

◆ m_n_stgRE

unsigned int MuonGM::MuonDetectorManager::m_n_stgRE {0}
private

◆ m_n_tgcDE

unsigned int MuonGM::MuonDetectorManager::m_n_tgcDE {0}
private

◆ m_n_tgcRE

unsigned int MuonGM::MuonDetectorManager::m_n_tgcRE {0}
private

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_nswAsBuilt

const NswAsBuiltDbData* MuonGM::MuonDetectorManager::m_nswAsBuilt {nullptr}
private

◆ m_rpcArray

std::vector<std::unique_ptr<RpcReadoutElement> > MuonGM::MuonDetectorManager::m_rpcArray
private

◆ m_rpcIdxToStat

std::map<int, int> MuonGM::MuonDetectorManager::m_rpcIdxToStat
private

◆ m_rpcStatToIdx

std::map<int, int> MuonGM::MuonDetectorManager::m_rpcStatToIdx
private

◆ m_stgArray

std::vector<std::unique_ptr<sTgcReadoutElement> > MuonGM::MuonDetectorManager::m_stgArray
private

◆ m_tgcArray

std::vector<std::unique_ptr<TgcReadoutElement> > MuonGM::MuonDetectorManager::m_tgcArray
private

◆ NCscStEtaOffset

constexpr int MuonGM::MuonDetectorManager::NCscStEtaOffset = 1
staticconstexpr

Identifier <-> AMDB conversion constants in use.

Definition at line 159 of file MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h.

◆ NTgcStatTypeOff

constexpr int MuonGM::MuonDetectorManager::NTgcStatTypeOff = -41
staticconstexpr

◆ NTgcStEtaOffset

constexpr int MuonGM::MuonDetectorManager::NTgcStEtaOffset = 5
staticconstexpr

The documentation for this class was generated from the following files:
BIS
@ BIS
Definition: RegSelEnums.h:11
MuonGM::MuonDetectorManager::getRpcReadoutElement
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:168
NswAsBuiltDbData::microMegaData
MmAsBuiltPtr microMegaData
Definition: NswAsBuiltDbData.h:29
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
TGC
@ TGC
Definition: RegSelEnums.h:33
python.StoreID.UNKNOWN
int UNKNOWN
Definition: StoreID.py:16
MuonGM::MuonDetectorManager::m_cscArray
std::vector< std::unique_ptr< CscReadoutElement > > m_cscArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:192
STGC
@ STGC
Definition: RegSelEnums.h:39
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
MuonGM::MuonDetectorManager::m_envelope
std::vector< PVLink > m_envelope
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:183
MuonGM::MuonDetectorManager::m_rpcArray
std::vector< std::unique_ptr< RpcReadoutElement > > m_rpcArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:195
BIL
@ BIL
Definition: RegSelEnums.h:10
MuonGM::MuonDetectorManager::m_nswAsBuilt
const NswAsBuiltDbData * m_nswAsBuilt
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:213
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
MuonGM::MuonDetectorManager::m_stgArray
std::vector< std::unique_ptr< sTgcReadoutElement > > m_stgArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:196
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
ALinePar
Definition: ALinePar.h:15
BOG
@ BOG
Definition: RegSelEnums.h:19
MuonGM::MuonDetectorManager::tgcIdentToArrayIdx
int tgcIdentToArrayIdx(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:304
MuonGM::MuonDetectorManager::nMMRE
unsigned int nMMRE() const
Number of MM ReadoutElements.
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:256
MuonGM::MuonDetectorManager::fillCache
void fillCache()
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:75
BIR
@ BIR
Definition: RegSelEnums.h:17
MuonGM::MuonDetectorManager::clearCache
void clearCache()
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:67
MuonGM::MuonDetectorManager::m_geometryVersion
std::string m_geometryVersion
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:187
MuonGM::MuonDetectorManager::m_rpcStatToIdx
std::map< int, int > m_rpcStatToIdx
RPC name caches.
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:215
NswAsBuiltDbData::sTgcData
sTgcAsBuiltPtr sTgcData
Storage to the stgc as built calculator.
Definition: NswAsBuiltDbData.h:31
MuonGM::MuonDetectorManager::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:167
skel.it
it
Definition: skel.GENtoEVGEN.py:423
xAOD::L2MuonParameters::BME
@ BME
BME measurement point.
Definition: TrigMuonDefs.h:25
MuonGM::MuonDetectorManager::muonStationKey
static std::string muonStationKey(const std::string &stName, int statEtaIndex, int statPhiIndex)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:126
MM
@ MM
Definition: RegSelEnums.h:38
MuonGM::MuonDetectorManager::stgcIdentToArrayIdx
int stgcIdentToArrayIdx(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:284
MuonGM::MuonDetectorManager::m_tgcArray
std::vector< std::unique_ptr< TgcReadoutElement > > m_tgcArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:193
BMF
@ BMF
Definition: RegSelEnums.h:16
MuonGM::MuonDetectorManager::BIM
@ BIM
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
THROW_EXCEPTION
#define THROW_EXCEPTION(MSG)
Definition: MMReadoutElement.cxx:48
BOL
@ BOL
Definition: RegSelEnums.h:14
MuonGM::MuonDetectorManager::m_n_mmcRE
unsigned int m_n_mmcRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:205
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
x
#define x
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
MuonGM::MuonDetectorManager::m_n_tgcRE
unsigned int m_n_tgcRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:203
RpcIdHelper
Definition: RpcIdHelper.h:51
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonGM::MuonDetectorManager::mmIdenToArrayIdx
int mmIdenToArrayIdx(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:274
MuonGM::MuonDetectorManager::m_DBMuonVersion
std::string m_DBMuonVersion
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:188
MuonGM::MuonDetectorManager::m_n_mdtRE
unsigned int m_n_mdtRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:200
MuonGM::MuonDetectorManager::m_n_mdtDE
unsigned int m_n_mdtDE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:207
MuonGM::MuonDetectorManager::getTgcReadoutElement
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:247
MuonGM::MuonDetectorManager::BOF
@ BOF
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
BOF
@ BOF
Definition: RegSelEnums.h:18
MuonGM::MuonDetectorManager::m_n_rpcRE
unsigned int m_n_rpcRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:202
MuonGM::MuonDetectorManager::BMS
@ BMS
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MuonGM::MuonDetectorManager::cscIdentToArrayIdx
int cscIdentToArrayIdx(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:314
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
MuonGM::MuonDetectorManager::getMdtReadoutElement
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:204
MuonGM::MuonDetectorManager::m_mmcArray
std::vector< std::unique_ptr< MMReadoutElement > > m_mmcArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:197
MuonGM::MuonDetectorManager::m_minimalgeo
int m_minimalgeo
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:179
lumiFormat.i
int i
Definition: lumiFormat.py:92
MuonGM::MuonDetectorManager::m_includeCutoutsBog
int m_includeCutoutsBog
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:181
MuonGM::MuonDetectorManager::m_rpcIdxToStat
std::map< int, int > m_rpcIdxToStat
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:216
MuonGM::MuonDetectorManager::getCscReadoutElement
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:225
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
MuonGM::MuonDetectorManager::m_MuonStationMap
std::map< std::string, std::unique_ptr< MuonStation > > m_MuonStationMap
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:198
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonGM::MuonDetectorManager::BIS
@ BIS
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
master.flag
bool flag
Definition: master.py:29
MuonGM::MuonDetectorManager::m_includeCutouts
int m_includeCutouts
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:180
MuonGM::MuonDetectorManager::BIL
@ BIL
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
MuonGM::MuonDetectorManager::m_n_stgRE
unsigned int m_n_stgRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:204
MuonGM::MuonDetectorManager::BIR
@ BIR
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MuonGM::MuonDetectorManager::BOS
@ BOS
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MuonGM::MuonDetectorManager::nsTgcRE
unsigned int nsTgcRE() const
Number of sTgc ReadoutElements.
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:255
MuonGM::MuonDetectorManager::mdtIdentToArrayIdx
int mdtIdentToArrayIdx(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:263
BLinePar
Definition: BLinePar.h:14
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
MuonGM::MuonDetectorManager::rpcIdentToArrayIdx
int rpcIdentToArrayIdx(const Identifier &id) const
Helper method to convert the Identifier into the corresponding index accessing the array.
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:294
GeoModel::TransientConstSharedPtr::get
Obj * get()
Get (non-const) access to the underlying object.
Definition: TransientConstSharedPtr.h:17
RPC
@ RPC
Definition: RegSelEnums.h:32
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
MuonGM::MuonDetectorManager::m_n_cscRE
unsigned int m_n_cscRE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:201
MuonGM::MuonDetectorManager::BME
@ BME
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MuonGM::MuonDetectorManager::BML
@ BML
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
get_generator_info.version
version
Definition: get_generator_info.py:33
MuonGM::MuonDetectorManager::getMuonStation
const MuonStation * getMuonStation(const std::string &stName, int eta, int phi) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:137
MuonGM::MuonDetectorManager::m_n_rpcDE
unsigned int m_n_rpcDE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:209
BML
@ BML
Definition: RegSelEnums.h:12
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonGM::MuonDetectorManager::m_mdtArray
std::vector< std::unique_ptr< MdtReadoutElement > > m_mdtArray
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:191
MuonGM::MuonDetectorManager::UNKNOWN
@ UNKNOWN
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
MuonGM::MuonDetectorManager::getMMReadoutElement
const MMReadoutElement * getMMReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:255
BMS
@ BMS
Definition: RegSelEnums.h:13
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
MuonGM::MuonDetectorManager::loadStationIndices
void loadStationIndices()
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:651
MuonGM::MuonDetectorManager::BOG
@ BOG
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MuonGM::MuonDetectorManager::getsTgcReadoutElement
const sTgcReadoutElement * getsTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:259
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
MuonGM::MuonDetectorManager::m_n_cscDE
unsigned int m_n_cscDE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:208
test_interactive_athena.job
job
Definition: test_interactive_athena.py:6
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
MuonGM::buildString
std::string buildString(int i, int ncha)
Definition: GlobalUtilities.cxx:23
BOS
@ BOS
Definition: RegSelEnums.h:15
Muon::MuonStationIndex::TechnologyIndex
TechnologyIndex
enum to classify the different layers in the muon spectrometer
Definition: MuonStationIndex.h:54
MuonGM::MuonDetectorManager::m_n_tgcDE
unsigned int m_n_tgcDE
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:210
MuonGM::MuonDetectorManager::BOL
@ BOL
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
MDT
@ MDT
Definition: RegSelEnums.h:31
ALinePar::Parameter
Parameter
amdb frame (s, z, t) = chamber frame (y, z, x)
Definition: ALinePar.h:23
MuonGM::MuonDetectorManager::BMF
@ BMF
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:170
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37