ATLAS Offline Software
Loading...
Searching...
No Matches
MuonChamberLite.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MuonChamberLite_H
6#define MuonChamberLite_H
7
8#include "GeoModelKernel/GeoVFullPhysVol.h"
12#include <map>
13#include <string>
14#include <set>
15class GeoAlignableTransform;
16class GeoVFullPhysVol;
17
18namespace MuonGM {
24 class CscComponent;
25 class MdtComponent;
26 class RpcComponent;
27 class TgcComponent;
28 class Position;
29 class MYSQL;
30
32
33 public:
34 double width{0.};
35 double length{0.};
36 double thickness{0.};
37 double longWidth{0.}; // for trapezoidal layers
38
39 std::array<double,10> rotangle{};
40
41 MuonChamberLite(const MYSQL& mysql, Station *s,
42 std::map<std::string, GeoFullPhysVol*> * mapFPV,
43 std::map<std::string, GeoAlignableTransform *> * mapAXF);
44 GeoVPhysVol *addReadoutLayers(const MYSQL& mysql,
45 MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly);
46 virtual void print() const override;
47 void setKeyset(std::set<std::string> *keySet) {m_keySet=keySet;};
48
49 private:
50 void setCscReadoutGeom(const MYSQL& mysql,
51 CscReadoutElement *re, const CscComponent *cc, const Position &p);
52 void setMdtReadoutGeom(const MYSQL& mysql,
53 MdtReadoutElement *re, const MdtComponent *cc, const Position &p);
54 void setRpcReadoutGeom(const MYSQL& mysql,
55 RpcReadoutElement *re, const RpcComponent *cc, const Position &p);
56 void setTgcReadoutGeom(const MYSQL& mysql,
57 TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string& statname);
58
59 Station *m_station{nullptr};
60
61 std::map<std::string, GeoFullPhysVol*> * m_mapFPV{nullptr};
62 std::map<std::string, GeoAlignableTransform*> * m_mapAXF{nullptr};
63 std::set<std::string> * m_keySet{nullptr};
64 };
65
66
67} // namespace MuonGM
68
69#endif
const boost::regex re(r_e)
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
DetectorElement(const std::string &n)
std::map< std::string, GeoAlignableTransform * > * m_mapAXF
MuonChamberLite(const MYSQL &mysql, Station *s, std::map< std::string, GeoFullPhysVol * > *mapFPV, std::map< std::string, GeoAlignableTransform * > *mapAXF)
std::set< std::string > * m_keySet
void setMdtReadoutGeom(const MYSQL &mysql, MdtReadoutElement *re, const MdtComponent *cc, const Position &p)
void setCscReadoutGeom(const MYSQL &mysql, CscReadoutElement *re, const CscComponent *cc, const Position &p)
virtual void print() const override
void setRpcReadoutGeom(const MYSQL &mysql, RpcReadoutElement *re, const RpcComponent *cc, const Position &p)
void setKeyset(std::set< std::string > *keySet)
void setTgcReadoutGeom(const MYSQL &mysql, TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string &statname)
GeoVPhysVol * addReadoutLayers(const MYSQL &mysql, MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly)
std::map< std::string, GeoFullPhysVol * > * m_mapFPV
std::array< double, 10 > rotangle
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
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...
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27