91#define WRITE_ALLGETTER(CONSTNESS) \
92 std::vector<CONSTNESS MuonReadoutElement*> \
93 MuonDetectorManager::getAllReadoutElements(const ActsTrk::DetectorType type) CONSTNESS { \
94 std::vector<CONSTNESS MuonReadoutElement*> allEles{}; \
95 using enum ActsTrk::DetectorType; \
96 if (type == UnDefined || type == Mdt) { \
97 insert(getAllMdtReadoutElements(), allEles); \
98 } \
99 if (type == UnDefined || type == Rpc) { \
100 insert(getAllRpcReadoutElements(), allEles); \
101 } \
102 if (type == UnDefined || type == Tgc) { \
103 insert(getAllTgcReadoutElements(), allEles); \
104 } \
105 if (type == UnDefined || type == Mm) { \
106 insert(getAllMmReadoutElements(), allEles); \
107 } \
108 if (type == UnDefined || type == sTgc) { \
109 insert(getAllsTgcReadoutElements(), allEles); \
110 } \
111 return allEles; \
112 } \
113 \
114 CONSTNESS MuonReadoutElement* \
115 MuonDetectorManager::getReadoutElement(const Identifier& id) CONSTNESS { \
116 switch(m_idHelperSvc->technologyIndex(id)) { \
117 using enum Muon::MuonStationIndex::TechnologyIndex; \
118 case MDT: \
119 return getMdtReadoutElement(id); \
120 case RPC: \
121 return getRpcReadoutElement(id); \
122 case TGC: \
123 return getTgcReadoutElement(id); \
124 case STGC: \
125 return getsTgcReadoutElement(id); \
126 case MM: \
127 return getMmReadoutElement(id); \
128 default: \
129 ATH_MSG_WARNING(__FILE__<<":"<<__LINE__<<" Not a muon detector element " \
130 <<m_idHelperSvc->toString(id)); \
131 } \
132 return nullptr; \
133 }