|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MuonDetectorManager_H
6 #define MuonDetectorManager_H
15 #include "GaudiKernel/StatusCode.h"
16 #include "GeoModelKernel/GeoAlignableTransform.h"
17 #include "GeoModelKernel/GeoVDetectorManager.h"
24 #ifndef SIMULATIONBASE
32 class MuonReadoutElement;
33 class CscReadoutElement;
34 class TgcReadoutElement;
35 class RpcReadoutElement;
36 class MdtReadoutElement;
37 class sTgcReadoutElement;
38 class MMReadoutElement;
39 class MuonClusterReadoutElement;
62 virtual PVConstLink
getTreeTop(
unsigned int i)
const;
99 inline unsigned int nMdtRE()
const;
100 inline unsigned int nsTgcRE()
const;
101 inline unsigned int nMMRE()
const;
102 inline unsigned int nCscRE()
const;
103 inline unsigned int nRpcRE()
const;
104 inline unsigned int nTgcRE()
const;
106 inline unsigned int nMdtDE()
const;
107 inline unsigned int nCscDE()
const;
108 inline unsigned int nRpcDE()
const;
109 inline unsigned int nTgcDE()
const;
138 static std::string
muonStationKey(
const std::string& stName,
int statEtaIndex,
int statPhiIndex) ;
150 #ifndef SIMULATIONBASE
176 enum RpcStatType {
BML = 0,
BMS,
BOL,
BOS,
BMF,
BOF,
BOG,
BME,
BIR,
BIM,
BIL,
BIS,
UNKNOWN };
273 #ifndef GAUDI_NEUTRAL
275 class MuonDetectorManager;
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
MmAsBuiltPtr microMegaData
void set_DBMuonVersion(const std::string &version)
void addMuonStation(std::unique_ptr< MuonStation > &&mst)
void addMdtReadoutElement(std::unique_ptr< MdtReadoutElement > &&reEle)
store the MdtReadoutElement using as "key" the identifier
std::vector< std::unique_ptr< CscReadoutElement > > m_cscArray
unsigned int nMdtDE() const
Number of Mdt DetectorElements.
int MinimalGeoFlag() const
Ensure that the Athena extensions are properly loaded.
std::vector< PVLink > m_envelope
std::vector< std::unique_ptr< RpcReadoutElement > > m_rpcArray
int IncludeCutoutsFlag() const
const NswAsBuiltDbData * m_nswAsBuilt
std::vector< std::unique_ptr< sTgcReadoutElement > > m_stgArray
CONDCONT_MIXED_DEF(MuonGM::MuonDetectorManager, 205781622)
int tgcIdentToArrayIdx(const Identifier &id) const
unsigned int nMMRE() const
Number of MM ReadoutElements.
Class holding the sTGC as built conditions data and applying it. The model consists of four parameter...
virtual unsigned int getNumTreeTops() const
std::string m_geometryVersion
std::map< int, int > m_rpcStatToIdx
RPC name caches.
unsigned int nTgcDE() const
Number of Tgc DetectorElements.
sTgcAsBuiltPtr sTgcData
Storage to the stgc as built calculator.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode updateCSCInternalAlignmentMap(const ALineContainer &cscIntAline)
StatusCode updateMdtAsBuiltParams(const MdtAsBuiltContainer &a)
static std::string muonStationKey(const std::string &stName, int statEtaIndex, int statPhiIndex)
int stgcIdentToArrayIdx(const Identifier &id) const
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
std::vector< std::unique_ptr< TgcReadoutElement > > m_tgcArray
void addRpcReadoutElement(std::unique_ptr< RpcReadoutElement > &&reEle)
store the RpcReadoutElement using as "key" the identifier
const MmIdHelper * mmIdHelper() const
const NswAsBuilt::StripCalculator * getMMAsBuiltCalculator() const
void setGeometryVersion(const std::string &version)
int mmIdenToArrayIdx(const Identifier &id) const
std::string m_DBMuonVersion
unsigned int nMdtRE() const
Number of Mdt ReadoutElements.
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
unsigned int rpcStationTypeIdx(const int stationName) const
const NswAsBuilt::StgcStripCalculator * getStgcAsBuiltCalculator() const
int IncludeCutoutsBogFlag() const
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
unsigned int nCscDE() const
Number of Csc DetectorElements.
int cscIdentToArrayIdx(const Identifier &id) const
StatusCode updateDeformations(const BLineContainer &a)
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
std::vector< std::unique_ptr< MMReadoutElement > > m_mmcArray
int rpcStationName(const int stationIndex) const
std::map< int, int > m_rpcIdxToStat
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
const std::string & geometryVersion() const
it can be Rome-Initial or P03, or ...
std::map< std::string, std::unique_ptr< MuonStation > > m_MuonStationMap
::StatusCode StatusCode
StatusCode definition for legacy code.
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
const sTgcIdHelper * stgcIdHelper() const
void setCutoutsFlag(int flag)
Class to provide easy MsgStream access and capabilities.
std::set< ALinePar, std::less<> > ALineContainer
const sTGCAsBuiltData2 * getsTGCAsBuilt2() const
unsigned int nsTgcRE() const
Number of sTgc ReadoutElements.
void setCutoutsBogFlag(int flag)
const MdtIdHelper * mdtIdHelper() const
void addCscReadoutElement(std::unique_ptr< CscReadoutElement > &&reEle)
store the CscReadoutElement using as "key" the identifier
int mdtIdentToArrayIdx(const Identifier &id) const
static constexpr int NTgcStEtaOffset
std::set< MdtAsBuiltPar, std::less<> > MdtAsBuiltContainer
void setMinimalGeoFlag(int flag)
const RpcIdHelper * rpcIdHelper() const
CLASS_DEF(MuonGM::MuonDetectorManager, 4500, 1)
unsigned int nRpcDE() const
Number of Rpc DetectorElements.
int rpcIdentToArrayIdx(const Identifier &id) const
Helper method to convert the Identifier into the corresponding index accessing the array.
static constexpr int NCscStEtaOffset
Identifier <-> AMDB conversion constants in use.
Obj * get()
Get (non-const) access to the underlying object.
const TgcIdHelper * tgcIdHelper() const
const std::string & get_DBMuonVersion() const
the name of the MuonSpectrometer tag (in the geometry DB) actually accessed
void setsTGCAsBuilt2(const sTGCAsBuiltData2 *stgcAsBuilt2)
The main interface of the NswAsBuilt package: determines strip positions in the frame of the quadrupl...
unsigned int nTgcRE() const
Number of Tgc ReadoutElements.
unsigned int nMuonStation() const
Number of MuonStations.
void addTgcReadoutElement(std::unique_ptr< TgcReadoutElement > &&reEle)
store the TgcReadoutElement using as "key" the identifier
const MuonStation * getMuonStation(const std::string &stName, int eta, int phi) const
unsigned int nRpcRE() const
Number of Rpc ReadoutElements.
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Get any read out element.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
std::vector< std::unique_ptr< MdtReadoutElement > > m_mdtArray
const MMReadoutElement * getMMReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
virtual PVConstLink getTreeTop(unsigned int i) const
void setNswAsBuilt(const NswAsBuiltDbData *nswAsBuiltData)
const sTGCAsBuiltData2 * m_stgcAsBuildData2
void addMMReadoutElement(std::unique_ptr< MMReadoutElement > &&reEle)
store the MMReadoutElement using as "key" the identifier
StatusCode updateAlignment(const ALineContainer &a)
unsigned int nCscRE() const
Number of Csc ReadoutElements.
void loadStationIndices()
void addsTgcReadoutElement(std::unique_ptr< sTgcReadoutElement > &&reEle)
store the sTGCReadoutElement using as "key" the identifier
const CscIdHelper * cscIdHelper() const
std::set< BLinePar, std::less<> > BLineContainer
const sTgcReadoutElement * getsTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
static constexpr int NTgcStatTypeOff