ATLAS Offline Software
Loading...
Searching...
No Matches
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"
12
13class IMessageSvc;
14
15namespace MuonGM {
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
const boost::regex re(r_e)
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
DetectorElement(const std::string &n)
std::array< double, 10 > rotangle
Definition MuonChamber.h:37
void setMdtReadoutGeom(const MYSQL &mysql, MdtReadoutElement *re, const MdtComponent *cc, const Position &p)
GeoVPhysVol * build(StoredMaterialManager &matManager, const MYSQL &mysql, MuonDetectorManager *manager, int ieta, int iphi, bool is_mirrored, bool &isAssembly)
void setCscReadoutGeom(const MYSQL &mysql, CscReadoutElement *re, const CscComponent *cc, const Position &p)
void setFPVMAP(FPVMAP *fpvmap)
virtual void print() const override
void setRpcReadoutGeom(const MYSQL &mysql, RpcReadoutElement *re, const RpcComponent *cc, const Position &p)
void setTgcReadoutGeom(const MYSQL &mysql, TgcReadoutElement *re, const TgcComponent *cc, const Position &p, const std::string &statname)
MuonChamber(const MYSQL &mysql, Station *s)
void setFineClashFixingFlag(int value)
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...
This class holds one or more material managers and makes them storeable, under StoreGate.
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27