5#ifndef MuonDetectorManager_H
6#define MuonDetectorManager_H
15#include "GaudiKernel/StatusCode.h"
16#include "GeoModelKernel/GeoAlignableTransform.h"
17#include "GeoModelKernel/GeoVDetectorManager.h"
63 virtual PVConstLink
getTreeTop(
unsigned int i)
const;
100 inline unsigned int nMdtRE()
const;
101 inline unsigned int nsTgcRE()
const;
102 inline unsigned int nMMRE()
const;
103 inline unsigned int nCscRE()
const;
104 inline unsigned int nRpcRE()
const;
105 inline unsigned int nTgcRE()
const;
107 inline unsigned int nMdtDE()
const;
108 inline unsigned int nCscDE()
const;
109 inline unsigned int nRpcDE()
const;
110 inline unsigned int nTgcDE()
const;
139 static std::string
muonStationKey(
const std::string& stName,
int statEtaIndex,
int statPhiIndex) ;
151#ifndef SIMULATIONBASE
178 enum RpcStatType {
BML = 0,
BMS,
BOL,
BOS,
BMF,
BOF,
BOG,
BME,
BIR,
BIM,
BIL,
BIS,
UNKNOWN };
278 class MuonDetectorManager;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define CONDCONT_MIXED_DEF(...)
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
std::set< ALinePar, std::less<> > ALineContainer
std::set< MdtAsBuiltPar, std::less<> > MdtAsBuiltContainer
std::set< BLinePar, std::less<> > BLineContainer
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
This is a "hash" representation of an Identifier.
An MMReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station con...
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
unsigned int nTgcDE() const
Number of Tgc DetectorElements.
std::vector< std::unique_ptr< sTgcReadoutElement > > m_stgArray
int IncludeCutoutsFlag() const
unsigned int rpcStationTypeIdx(const int stationName) const
std::map< int, int > m_rpcIdxToStat
StatusCode updateCSCInternalAlignmentMap(const ALineContainer &cscIntAline)
std::vector< std::unique_ptr< TgcReadoutElement > > m_tgcArray
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
std::string m_geometryVersion
const NswPassivationDbData * m_mmPassivation
std::vector< PVLink > m_envelope
int rpcStationName(const int stationIndex) const
const sTGCAsBuiltData * m_stgcAsBuildData
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Get any read out element.
std::vector< std::unique_ptr< CscReadoutElement > > m_cscArray
int tgcIdentToArrayIdx(const Identifier &id) const
std::vector< std::unique_ptr< MMReadoutElement > > m_mmcArray
virtual unsigned int getNumTreeTops() const
int MinimalGeoFlag() const
const MdtIdHelper * mdtIdHelper() const
const NswAsBuilt::StripCalculator * getMMAsBuiltCalculator() const
unsigned int nMuonStation() const
Number of MuonStations.
unsigned int nCscRE() const
Number of Csc ReadoutElements.
static constexpr int NCscStEtaOffset
Identifier <-> AMDB conversion constants in use.
const CscIdHelper * cscIdHelper() const
int IncludeCutoutsBogFlag() const
unsigned int nMdtDE() const
Number of Mdt DetectorElements.
unsigned int nRpcDE() const
Number of Rpc DetectorElements.
void addsTgcReadoutElement(std::unique_ptr< sTgcReadoutElement > &&reEle)
store the sTGCReadoutElement using as "key" the identifier
void addRpcReadoutElement(std::unique_ptr< RpcReadoutElement > &&reEle)
store the RpcReadoutElement using as "key" the identifier
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
StatusCode updateDeformations(const BLineContainer &a)
const std::string & get_DBMuonVersion() const
the name of the MuonSpectrometer tag (in the geometry DB) actually accessed
const RpcIdHelper * rpcIdHelper() const
unsigned int nRpcRE() const
Number of Rpc ReadoutElements.
int mdtIdentToArrayIdx(const Identifier &id) const
const std::string & geometryVersion() const
it can be Rome-Initial or P03, or ... it's the name of the layout
int rpcIdentToArrayIdx(const Identifier &id) const
Helper method to convert the Identifier into the corresponding index accessing the array.
static std::string muonStationKey(const std::string &stName, int statEtaIndex, int statPhiIndex)
void setMMPassivation(const NswPassivationDbData *passiv)
unsigned int nTgcRE() const
Number of Tgc ReadoutElements.
void setNswAsBuilt(const NswAsBuiltDbData *nswAsBuiltData)
void setsTGCAsBuilt(const sTGCAsBuiltData *stgcAsBuilt)
unsigned int nMdtRE() const
Number of Mdt ReadoutElements.
virtual PVConstLink getTreeTop(unsigned int i) const
const MuonStation * getMuonStation(const std::string &stName, int eta, int phi) const
std::map< std::string, std::unique_ptr< MuonStation > > m_MuonStationMap
StatusCode updateMdtAsBuiltParams(const MdtAsBuiltContainer &a)
void addCscReadoutElement(std::unique_ptr< CscReadoutElement > &&reEle)
store the CscReadoutElement using as "key" the identifier
void addMdtReadoutElement(std::unique_ptr< MdtReadoutElement > &&reEle)
store the MdtReadoutElement using as "key" the identifier
void setCutoutsFlag(int flag)
void addMuonStation(std::unique_ptr< MuonStation > &&mst)
void loadStationIndices()
int mmIdenToArrayIdx(const Identifier &id) const
StatusCode updateAlignment(const ALineContainer &a)
std::vector< std::unique_ptr< MdtReadoutElement > > m_mdtArray
std::map< int, int > m_rpcStatToIdx
RPC name caches.
int cscIdentToArrayIdx(const Identifier &id) const
const sTGCAsBuiltData * getsTGCAsBuilt() const
void set_DBMuonVersion(const std::string &version)
const TgcIdHelper * tgcIdHelper() const
static constexpr int NTgcStEtaOffset
void setGeometryVersion(const std::string &version)
void addTgcReadoutElement(std::unique_ptr< TgcReadoutElement > &&reEle)
store the TgcReadoutElement using as "key" the identifier
const MmIdHelper * mmIdHelper() const
unsigned int nMMRE() const
Number of MM ReadoutElements.
const MMReadoutElement * getMMReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
std::string m_DBMuonVersion
int stgcIdentToArrayIdx(const Identifier &id) const
const sTgcIdHelper * stgcIdHelper() const
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
const sTgcReadoutElement * getsTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
void addMMReadoutElement(std::unique_ptr< MMReadoutElement > &&reEle)
store the MMReadoutElement using as "key" the identifier
unsigned int nCscDE() const
Number of Csc DetectorElements.
const NswAsBuiltDbData * m_nswAsBuilt
std::vector< std::unique_ptr< RpcReadoutElement > > m_rpcArray
const NswPassivationDbData * getMMPassivation() const
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
void setMinimalGeoFlag(int flag)
static constexpr int NTgcStatTypeOff
unsigned int nsTgcRE() const
Number of sTgc ReadoutElements.
void setCutoutsBogFlag(int flag)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
Class holding the sTGC as built conditions data and applying it.
Ensure that the Athena extensions are properly loaded.