![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRY_MUONDETECTORMANAGER_H
5 #define MUONREADOUTGEOMETRY_MUONDETECTORMANAGER_H
11 #include "GaudiKernel/ServiceHandle.h"
12 #include "GeoModelKernel/GeoVDetectorManager.h"
38 #define DECLARE_GETTERSETTER(ELE_TYPE, GETTER, SETTER) \
39 ELE_TYPE* GETTER(const IdentifierHash& hash); \
40 ELE_TYPE* GETTER(const Identifier& hash); \
42 const ELE_TYPE* GETTER(const IdentifierHash& hash) const; \
43 const ELE_TYPE* GETTER(const Identifier& hash) const; \
45 StatusCode SETTER(ElementPtr<ELE_TYPE> element);
47 #define DECLARE_ELEMENT(ELE_TYPE) \
48 DECLARE_GETTERSETTER(ELE_TYPE, get##ELE_TYPE, add##ELE_TYPE) \
50 std::vector<const ELE_TYPE*> getAll##ELE_TYPE##s() const; \
51 std::vector<ELE_TYPE*> getAll##ELE_TYPE##s();
54 class MdtReadoutElement;
55 class TgcReadoutElement;
56 class RpcReadoutElement;
57 class sTgcReadoutElement;
58 class MmReadoutElement;
67 template <
class MuonDetectorType>
69 template <
class MuonDetectorType>
96 #ifndef SIMULATIONBASE
112 "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
"MuonDetectorManager"};
127 #undef DECLARE_GETTERSETTER
128 #undef DECLARE_ELEMENT
~MuonDetectorManager()=default
std::vector< ActsTrk::DetectorType > getDetectorTypes() const
Returns a list of all detector types.
ElementStorage< TgcReadoutElement > m_tgcEles
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
std::vector< const MuonReadoutElement * > getAllReadoutElements() const
Returns the list of all detector elements.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ElementStorage< RpcReadoutElement > m_rpcEles
bool const RAWDATA *ch2 const
bool operator()(const MuonChamber *a, const MuonChamber *b) const
This class provides conversion from CSC RDO data to CSC Digits.
A muon chamber is a collection of readout elements belonging to the same station.
unsigned int getNumTreeTops() const override final
Access specifically the individual readout element technologies.
#define DECLARE_ELEMENT(ELE_TYPE)
std::set< const MuonChamber *, ChamberSorter > MuonChamberSet
Class to provide easy MsgStream access and capabilities.
const MuonChamber * getChamber(const Identifier &channelId) const
PVConstLink getTreeTop(unsigned int i) const override final
Returns the i-th top node of the MuonSystem trees.
ElementStorage< MdtReadoutElement > m_mdtEles
std::vector< PVConstLink > m_treeTopVector
void addTreeTop(PVConstLink pv)
Adds a new GeoModelTree node indicating the entrance to a muon system description.
std::vector< ElementPtr< MuonDetectorType > > ElementStorage
MuonChamberSet getAllChambers() const
: Returns all MuonChambers associated with the readout geometry
ElementStorage< sTgcReadoutElement > m_sTgcEles
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the central MuonIdHelperSvc.
std::unique_ptr< MuonDetectorType > ElementPtr
ElementStorage< MmReadoutElement > m_mmEles
macros to associate a CLID to a type
Helper struct to ensur that the sorting of the MuonChambers remains constants across the jobs.
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Returns a generic Muon readout element.