ATLAS Offline Software
MuonChamber.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 MuonChamber_H
6 #define MuonChamber_H
7 
8 #include "GeoModelKernel/GeoVFullPhysVol.h"
10 #include "MuonGeoModel/Station.h"
12 
13 class IMessageSvc;
14 
15 namespace MuonGM {
16  class MuonDetectorManager;
17  class CscReadoutElement;
18  class MdtReadoutElement;
19  class RpcReadoutElement;
20  class TgcReadoutElement;
21  class CscComponent;
22  class MdtComponent;
23  class RpcComponent;
24  class TgcComponent;
25  class Position;
26  class FPVMAP;
27  class MYSQL;
28 
29  class MuonChamber : public DetectorElement, public AthMessaging {
30 
31  public:
32  double width{0.};
33  double length{0.};
34  double thickness{0.};
35  double longWidth{0.}; // for trapezoidal layers
36 
37  std::array<double, 10> rotangle{};
38 
39  void setFineClashFixingFlag(int value);
40 
41  MuonChamber(const MYSQL& mysql, Station *s);
42  GeoVPhysVol *build(StoredMaterialManager& matManager,
43  const MYSQL& mysql,
44  MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly);
45  virtual void print() const override;
46  void setFPVMAP(FPVMAP *fpvmap);
47 
48  private:
49  void setCscReadoutGeom(const MYSQL& mysql,
50  CscReadoutElement *re, const CscComponent *cc, const Position &p);
51  void setMdtReadoutGeom(const MYSQL& mysql,
52  MdtReadoutElement *re, const MdtComponent *cc, const Position &p);
53  void setRpcReadoutGeom(const MYSQL& mysql,
54  RpcReadoutElement *re, const RpcComponent *cc, const Position &p);
55  void setTgcReadoutGeom(const MYSQL& mysql,
56  TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string& statname);
57 
58  Station *m_station{nullptr};
60 
61  FPVMAP *m_FPVMAP = nullptr;
62  };
63 
64 
65 } // namespace MuonGM
66 
67 #endif
MuonGM::MuonChamber::setFineClashFixingFlag
void setFineClashFixingFlag(int value)
Definition: MuonChamber.cxx:1565
DetectorElement.h
MuonGM::MuonChamber::print
virtual void print() const override
Definition: MuonChamber.cxx:1562
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MuonGM::TgcComponent
Definition: TgcComponent.h:14
MuonGM::MuonChamber::setTgcReadoutGeom
void setTgcReadoutGeom(const MYSQL &mysql, TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string &statname)
Definition: MuonChamber.cxx:1516
MuonGM::MuonChamber::m_station
Station * m_station
Definition: MuonChamber.h:58
MuonGM::MuonChamber::width
double width
Definition: MuonChamber.h:32
MuonGM::MuonChamber
Definition: MuonChamber.h:29
MuonGM::Station
Definition: Station.h:40
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::MuonChamber::setCscReadoutGeom
void setCscReadoutGeom(const MYSQL &mysql, CscReadoutElement *re, const CscComponent *cc, const Position &p)
Definition: MuonChamber.cxx:1328
athena.value
value
Definition: athena.py:124
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
MuonGM::MuonChamber::MuonChamber
MuonChamber(const MYSQL &mysql, Station *s)
Definition: MuonChamber.cxx:93
MuonGM::DetectorElement
Definition: DetectorElement.h:15
Station.h
MuonGM::MuonChamber::m_enableFineClashFixing
int m_enableFineClashFixing
Definition: MuonChamber.h:59
MuonGM::MdtComponent
Definition: MdtComponent.h:12
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
MuonGM::MuonChamber::setMdtReadoutGeom
void setMdtReadoutGeom(const MYSQL &mysql, MdtReadoutElement *re, const MdtComponent *cc, const Position &p)
Definition: MuonChamber.cxx:1365
MuonGM::Position
Definition: Position.h:11
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
MuonGM::FPVMAP
Definition: FPVMAP.h:17
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::MuonChamber::longWidth
double longWidth
Definition: MuonChamber.h:35
MuonGM::MuonChamber::build
GeoVPhysVol * build(StoredMaterialManager &matManager, const MYSQL &mysql, MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly)
Definition: MuonChamber.cxx:109
MuonGM::MuonChamber::m_FPVMAP
FPVMAP * m_FPVMAP
Definition: MuonChamber.h:61
MuonGM::MuonChamber::rotangle
std::array< double, 10 > rotangle
Definition: MuonChamber.h:37
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)
MuonGM::MuonChamber::thickness
double thickness
Definition: MuonChamber.h:34
AthMessaging.h
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
python.Logging.manager
manager
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py:92
MuonGM::MuonChamber::setRpcReadoutGeom
void setRpcReadoutGeom(const MYSQL &mysql, RpcReadoutElement *re, const RpcComponent *cc, const Position &p)
Definition: MuonChamber.cxx:1427
python.handimod.cc
int cc
Definition: handimod.py:523
MuonGM::MuonChamber::setFPVMAP
void setFPVMAP(FPVMAP *fpvmap)
Definition: MuonChamber.cxx:1566
MuonGM::MuonChamber::length
double length
Definition: MuonChamber.h:33