|
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.
Container class that stores the as built parameters of the sTgcs.
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