ATLAS Offline Software
MdtIntersectGeometry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONSTATIONINTESECTCOND_MDTINTERSECTGEOMETRY_H
6 #define MUONSTATIONINTESECTCOND_MDTINTERSECTGEOMETRY_H
7 
9 #include "Identifier/Identifier.h"
13 class MsgStream;
14 namespace MuonGM {
15  class MuonDetectorManager;
16  class MdtReadoutElement;
17 } // namespace MuonGM
18 
19 class MdtCondDbData;
20 
21 namespace Muon {
22 
24  public:
25  MdtIntersectGeometry(MsgStream& msg, const Identifier& chid, const IMuonIdHelperSvc* idHelperSvc,
26  const MuonGM::MuonDetectorManager* detMgr, const MdtCondDbData* dbData);
27 
30 
32 
34  const Amg::Vector3D& pos, const Amg::Vector3D& dir) const override;
35 
36  const Amg::Transform3D& transform() const { return m_transform; }
37 
38  std::shared_ptr<const TrkDriftCircleMath::MdtChamberGeometry> mdtChamberGeometry() const;
39  const Identifier& chamberId() const { return m_chid; }
40 
41  private:
42  double tubeLength(const MuonGM::MdtReadoutElement* detElMl0,
43  const MuonGM::MdtReadoutElement* detElMl1,
44  const int ml, const int layer, const int tube) const;
45  void init(const MuonGM::MuonDetectorManager* detMgr, MsgStream& msg);
46  void fillDeadTubes(const MuonGM::MdtReadoutElement* mydetEl, MsgStream& msg);
47 
50  std::shared_ptr<TrkDriftCircleMath::MdtChamberGeometry> m_mdtGeometry{};
53  const MdtCondDbData* m_dbData{nullptr};
55  std::set<Identifier> m_deadTubesML{};
56  std::vector<Identifier> m_deadTubes{};
57  };
58 
59 } // namespace Muon
60 
61 #endif
Muon::MdtIntersectGeometry::chamberId
const Identifier & chamberId() const
Definition: MdtIntersectGeometry.h:39
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Muon::MdtIntersectGeometry::m_idHelperSvc
const IMuonIdHelperSvc * m_idHelperSvc
Definition: MdtIntersectGeometry.h:54
Muon::MdtIntersectGeometry::m_mdtGeometry
std::shared_ptr< TrkDriftCircleMath::MdtChamberGeometry > m_mdtGeometry
Definition: MdtIntersectGeometry.h:50
MdtCondDbData
Definition: MdtCondDbData.h:21
Muon::MdtIntersectGeometry
Definition: MdtIntersectGeometry.h:23
Muon::MdtIntersectGeometry::MdtIntersectGeometry
MdtIntersectGeometry(const MdtIntersectGeometry &right)=delete
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::MdtIntersectGeometry::m_dbData
const MdtCondDbData * m_dbData
Definition: MdtIntersectGeometry.h:53
Muon::MdtIntersectGeometry::MdtIntersectGeometry
MdtIntersectGeometry(MsgStream &msg, const Identifier &chid, const IMuonIdHelperSvc *idHelperSvc, const MuonGM::MuonDetectorManager *detMgr, const MdtCondDbData *dbData)
Definition: MdtIntersectGeometry.cxx:23
Muon::MdtIntersectGeometry::transform
const Amg::Transform3D & transform() const
Definition: MdtIntersectGeometry.h:36
Muon::MdtIntersectGeometry::m_deadTubes
std::vector< Identifier > m_deadTubes
Definition: MdtIntersectGeometry.h:56
GeoPrimitives.h
Muon::MuonIntersectGeometry
Definition: MuonIntersectGeometry.h:15
Muon::MdtIntersectGeometry::m_hashMl1
IdentifierHash m_hashMl1
Definition: MdtIntersectGeometry.h:52
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
Muon::MdtIntersectGeometry::m_hashMl0
IdentifierHash m_hashMl0
Definition: MdtIntersectGeometry.h:51
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
Muon::MdtIntersectGeometry::mdtChamberGeometry
std::shared_ptr< const TrkDriftCircleMath::MdtChamberGeometry > mdtChamberGeometry() const
Definition: MdtIntersectGeometry.cxx:203
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Muon::MdtIntersectGeometry::~MdtIntersectGeometry
virtual ~MdtIntersectGeometry()
Muon::MdtIntersectGeometry::init
void init(const MuonGM::MuonDetectorManager *detMgr, MsgStream &msg)
Definition: MdtIntersectGeometry.cxx:100
MdtChamberGeometry.h
beamspotman.dir
string dir
Definition: beamspotman.py:621
Muon::MdtIntersectGeometry::operator=
MdtIntersectGeometry & operator=(const MdtIntersectGeometry &right)=delete
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
MuonIntersectGeometry.h
Muon::MuonStationIntersect
Definition: MuonStationIntersect.h:12
Muon::MdtIntersectGeometry::intersection
MuonStationIntersect intersection(const MuonGM::MuonDetectorManager *detMgr, const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override
Definition: MdtIntersectGeometry.cxx:31
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:51
Muon::MdtIntersectGeometry::m_chid
Identifier m_chid
Definition: MdtIntersectGeometry.h:48
Muon::MdtIntersectGeometry::m_deadTubesML
std::set< Identifier > m_deadTubesML
Definition: MdtIntersectGeometry.h:55
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:27
Muon::MdtIntersectGeometry::tubeLength
double tubeLength(const MuonGM::MdtReadoutElement *detElMl0, const MuonGM::MdtReadoutElement *detElMl1, const int ml, const int layer, const int tube) const
Definition: MdtIntersectGeometry.cxx:75
Muon::MdtIntersectGeometry::fillDeadTubes
void fillDeadTubes(const MuonGM::MdtReadoutElement *mydetEl, MsgStream &msg)
Definition: MdtIntersectGeometry.cxx:204
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
calibdata.tube
tube
Definition: calibdata.py:30
Muon::MdtIntersectGeometry::m_transform
Amg::Transform3D m_transform
Definition: MdtIntersectGeometry.h:49
IMuonIdHelperSvc.h
Identifier
Definition: IdentifierFieldParser.cxx:14