ATLAS Offline Software
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"
10 #include "MuonGeoModel/Station.h"
12 #include <map>
13 #include <string>
14 #include <set>
15 class GeoAlignableTransform;
16 class GeoVFullPhysVol;
17 
18 namespace MuonGM {
19  class MuonDetectorManager;
20  class CscReadoutElement;
21  class MdtReadoutElement;
22  class RpcReadoutElement;
23  class TgcReadoutElement;
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
DetectorElement.h
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonGM::MuonChamberLite::m_station
Station * m_station
Definition: MuonChamberLite.h:59
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MuonGM::TgcComponent
Definition: TgcComponent.h:14
MuonGM::MuonChamberLite::print
virtual void print() const override
Definition: MuonChamberLite.cxx:1086
MuonGM::MuonChamberLite::longWidth
double longWidth
Definition: MuonChamberLite.h:37
MuonGM::Station
Definition: Station.h:40
MuonGM::MuonChamberLite::width
double width
Definition: MuonChamberLite.h:34
MuonGM::MuonChamberLite::m_keySet
std::set< std::string > * m_keySet
Definition: MuonChamberLite.h:63
MuonGM::MYSQL
Definition: MYSQL.h:43
MuonGM::CscComponent
Definition: CscComponent.h:11
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:55
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
MuonGM::DetectorElement
Definition: DetectorElement.h:15
Station.h
MuonGM::MuonChamberLite
Definition: MuonChamberLite.h:31
MuonGM::MuonChamberLite::setCscReadoutGeom
void setCscReadoutGeom(const MYSQL &mysql, CscReadoutElement *re, const CscComponent *cc, const Position &p)
Definition: MuonChamberLite.cxx:851
MuonGM::MuonChamberLite::setKeyset
void setKeyset(std::set< std::string > *keySet)
Definition: MuonChamberLite.h:47
MuonGM::MuonChamberLite::setRpcReadoutGeom
void setRpcReadoutGeom(const MYSQL &mysql, RpcReadoutElement *re, const RpcComponent *cc, const Position &p)
Definition: MuonChamberLite.cxx:947
MuonGM::MdtComponent
Definition: MdtComponent.h:12
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
MuonGM::MuonChamberLite::addReadoutLayers
GeoVPhysVol * addReadoutLayers(const MYSQL &mysql, MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly)
Definition: MuonChamberLite.cxx:105
MuonGM::Position
Definition: Position.h:11
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
MuonGM::MuonChamberLite::m_mapAXF
std::map< std::string, GeoAlignableTransform * > * m_mapAXF
Definition: MuonChamberLite.h:62
MuonGM::MuonChamberLite::rotangle
std::array< double, 10 > rotangle
Definition: MuonChamberLite.h:39
MuonGM::RpcComponent
Definition: RpcComponent.h:12
MuonGM::TgcReadoutElement
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h:42
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
MuonGM::MuonChamberLite::m_mapFPV
std::map< std::string, GeoFullPhysVol * > * m_mapFPV
Definition: MuonChamberLite.h:61
MuonGM::MuonChamberLite::length
double length
Definition: MuonChamberLite.h:35
MuonGM::MuonChamberLite::thickness
double thickness
Definition: MuonChamberLite.h:36
MuonGM::MuonChamberLite::setMdtReadoutGeom
void setMdtReadoutGeom(const MYSQL &mysql, MdtReadoutElement *re, const MdtComponent *cc, const Position &p)
Definition: MuonChamberLite.cxx:887
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:50
re
const boost::regex re(r_e)
AthMessaging.h
python.Logging.manager
manager
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py:92
python.handimod.cc
int cc
Definition: handimod.py:523
MuonGM::MuonChamberLite::MuonChamberLite
MuonChamberLite(const MYSQL &mysql, Station *s, std::map< std::string, GeoFullPhysVol * > *mapFPV, std::map< std::string, GeoAlignableTransform * > *mapAXF)
Definition: MuonChamberLite.cxx:83
MuonGM::MuonChamberLite::setTgcReadoutGeom
void setTgcReadoutGeom(const MYSQL &mysql, TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string &statname)
Definition: MuonChamberLite.cxx:1038