ATLAS Offline Software
Loading...
Searching...
No Matches
MuonDetectorManager.h File Reference
#include "MuonReadoutGeometryR4/MuonDetectorDefs.h"
#include "MuonReadoutGeometryR4/MuonReadoutElement.h"
#include "AthenaKernel/CLASS_DEF.h"
#include "GaudiKernel/ServiceHandle.h"
#include "GeoModelKernel/GeoVDetectorManager.h"
#include "MuonIdHelpers/IMuonIdHelperSvc.h"
#include <map>
#include <memory>
#include <MuonReadoutGeometryR4/MuonDetectorManager.icc>
Include dependency graph for MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:

Go to the source code of this file.

Classes

class  MuonGMR4::MuonDetectorManager
struct  MuonGMR4::MuonDetectorManager::MSEnvelopeSorter
 Helper struct to ensure that the spectrometer sectors & chambers are sorted. More...

Namespaces

namespace  MuonGMR4
 The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy MuonReadoutGeometry.

Macros

#define DECLARE_GETTERSETTER(ELE_TYPE, GETTER, SETTER)
 The muon detector manager is the central class administrating the readout elements of All muon subdetectors defined in the Geometry.
#define DECLARE_ELEMENT(ELE_TYPE)

Macro Definition Documentation

◆ DECLARE_ELEMENT

#define DECLARE_ELEMENT ( ELE_TYPE)
Value:
DECLARE_GETTERSETTER(ELE_TYPE, get##ELE_TYPE, add##ELE_TYPE) \
\
std::vector<const ELE_TYPE*> getAll##ELE_TYPE##s() const; \
std::vector<ELE_TYPE*> getAll##ELE_TYPE##s();
#define DECLARE_GETTERSETTER(ELE_TYPE, GETTER, SETTER)
The muon detector manager is the central class administrating the readout elements of All muon subdet...
bool add(const std::string &hname, TKey *tobj)
Definition fastadd.cxx:55
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130

Definition at line 47 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.

47#define DECLARE_ELEMENT(ELE_TYPE) \
48 DECLARE_GETTERSETTER(ELE_TYPE, get##ELE_TYPE, add##ELE_TYPE) \
49 \
50 std::vector<const ELE_TYPE*> getAll##ELE_TYPE##s() const; \
51 std::vector<ELE_TYPE*> getAll##ELE_TYPE##s();

◆ DECLARE_GETTERSETTER

#define DECLARE_GETTERSETTER ( ELE_TYPE,
GETTER,
SETTER )
Value:
ELE_TYPE* GETTER(const IdentifierHash& hash); \
ELE_TYPE* GETTER(const Identifier& hash); \
\
const ELE_TYPE* GETTER(const IdentifierHash& hash) const; \
const ELE_TYPE* GETTER(const Identifier& hash) const; \
\
StatusCode SETTER(ElementPtr_t<ELE_TYPE> element);
This is a "hash" representation of an Identifier.
#define GETTER(_name_)
Macros for plotting.

The muon detector manager is the central class administrating the readout elements of All muon subdetectors defined in the Geometry.

The detector elements are stored in a std::vector and their IdentifierHashes are used as their corresponding position index. For each element type, e.g. CakeElement, it provides one setter method and four getter methods.

Add the detector element to the manager. Fails if an element with the same hash has already been added StatusCode addCakeElement(std::unique_ptr<CakeElement> ele_ptr);

Return the (const) pointer to the detector element. The input Identifier is the full ATLAS Identifier of the measurement (const) CakeElement* getCakeElement(const Identifier& id) const;

Return the (const) pointer to the detector element. The IdentifierHash has to correspond to the hash of the readout element (const) CakeElement* getCakeElement(const IdentifierHash& id) const; Helper macros to declare the interface

Definition at line 38 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h.

38#define DECLARE_GETTERSETTER(ELE_TYPE, GETTER, SETTER) \
39 ELE_TYPE* GETTER(const IdentifierHash& hash); \
40 ELE_TYPE* GETTER(const Identifier& hash); \
41 \
42 const ELE_TYPE* GETTER(const IdentifierHash& hash) const; \
43 const ELE_TYPE* GETTER(const Identifier& hash) const; \
44 \
45 StatusCode SETTER(ElementPtr_t<ELE_TYPE> element);