Muon Spectrometer description in GeoModel


Package structure
Geometry layouts
Interface to the MuonReadoutElements

Package structure

The software for the description of the Muon Spectrometer consists of several packages:

Geometry layouts

It is possible to build the following geometry layouts with MuonGeoModel

Interface to the MuonReadoutElements

Basic elements of the Readout Geometry of the Muon Spectrometer are the XxxReadoutElemens.  These correspond to:
The interface to these objects is provided by tile detector description manager:
   // access to Readout Elements

const MdtReadoutElement* getMdtReadoutElement(Identifier) const;
const MdtReadoutElement* getMdtRElement_fromIdFields(int i1, int i2, int i3, int i4) const;

const RpcReadoutElement* getRpcReadoutElement(Identifier) const;
const RpcReadoutElement* getRpcRElement_fromIdFields(int i1, int i2, int i3, int i4, int i5, int i6) const;

const TgcReadoutElement* getTgcReadoutElement(Identifier) const;
const TgcReadoutElement* getTgcRElement_fromIdFields(int i1, int i2, int i3) const;

const CscReadoutElement* getCscReadoutElement(Identifier) const;
const CscReadoutElement* getCscRElement_fromIdFields(int i1, int i2, int i3, int i4) const;


Generic interfaces of the XxxReadoutElements are:


// identity of the detector
  inline Identifier identify() const;
// like MDT, RPC, TGC, CSC
inline const std::string getTechnologyType() const;
// like MDT1, RPC4, TGC1, etc...
inline const std::string getTechnologyName() const;
inline void setTechnologyName(std::string str);
// BOL, EIS, BMF, T1F, etc ...
inline const std::string getStationType() const;
// BOL1, BEE1, etc...
inline const std::string getStationName() const;
inline void setStationName(std::string );

// size of the detector
inline const double getSsize() const;
inline const double getRsize() const;
inline const double getZsize() const;
inline const double getLongSsize() const;
inline const double getLongRsize() const;
inline const double getLongZsize() const;

// info related to Amdb specific conventions
  inline const double getStationS() const;
inline const int getAmdbZi() const;
inline const int getAmdbFi() const;
inline const bool isDescrAtNegZ() const;

// location of the detector
  inline const bool isMirrored() const;
const bool barrel() const;
const bool endcap() const;
const bool largeSector() const;
const bool smallSector() const;
inline const bool sideA() const;
inline const bool sideC() const;
HepPoint3D parentStationPos() const;
inline const int getStationEta() const;
inline const int getStationPhi() const;
inline void setStationEta(int );
inline void setStationPhi(int );
const HepPoint3D globalPosition() const;
virtual const HepTransform3D & transform() const;
virtual const HepTransform3D & defTransform() const;

// Tracking related interfaces
virtual const Trk::Surface & surface() const;
virtual const Trk::Surface & surface(const Identifier& id) const;
virtual const Trk::SurfaceBounds & bounds() const;
virtual const Trk::SurfaceBounds & bounds(const Identifier& id) const;
virtual const HepTransform3D & transform(const Identifier&) const {return transform();};
virtual const HepTransform3D & defTransform(const Identifier&) const {return defTransform();};
virtual const HepPoint3D & center() const;
virtual const HepVector3D & normal() const;
virtual const HepPoint3D & center(const Identifier&) const;
virtual const HepVector3D & normal(const Identifier&) const;






Thank you for your feedback sent to Stefania SpagnoloIsabel TriggerVakho Tsulaia, and Joe Boudreau.