ATLAS Offline Software
MdtIntersectGeometry.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
33  MuonStationIntersect intersection(const Amg::Vector3D& pos, const Amg::Vector3D& dir) const override;
34 
35  const Amg::Transform3D& transform() const { return m_transform; }
36 
37  std::shared_ptr<const TrkDriftCircleMath::MdtChamberGeometry> mdtChamberGeometry() const;
38  const Identifier& chamberId() const { return m_chid; }
39 
40  private:
41  double tubeLength(const int ml, const int layer, const int tube) const;
42  void init(MsgStream& msg);
43  void fillDeadTubes(const MuonGM::MdtReadoutElement* mydetEl, MsgStream& msg);
44 
47  std::shared_ptr<TrkDriftCircleMath::MdtChamberGeometry> m_mdtGeometry{};
50  const MuonGM::MuonDetectorManager* m_detMgr{nullptr}; // cannot use ReadCondHandleKey since no athena component
51  const MdtCondDbData* m_dbData{nullptr};
53  std::set<Identifier> m_deadTubesML{};
54  std::vector<Identifier> m_deadTubes{};
55  };
56 
57 } // namespace Muon
58 
59 #endif
Muon::MdtIntersectGeometry::chamberId
const Identifier & chamberId() const
Definition: MdtIntersectGeometry.h:38
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Muon::MdtIntersectGeometry::m_detElMl0
const MuonGM::MdtReadoutElement * m_detElMl0
Definition: MdtIntersectGeometry.h:48
Muon::MdtIntersectGeometry::m_idHelperSvc
const IMuonIdHelperSvc * m_idHelperSvc
Definition: MdtIntersectGeometry.h:52
Muon::MdtIntersectGeometry::m_mdtGeometry
std::shared_ptr< TrkDriftCircleMath::MdtChamberGeometry > m_mdtGeometry
Definition: MdtIntersectGeometry.h:47
MdtCondDbData
Definition: MdtCondDbData.h:21
Muon::MdtIntersectGeometry
Definition: MdtIntersectGeometry.h:23
Muon::MdtIntersectGeometry::MdtIntersectGeometry
MdtIntersectGeometry(const MdtIntersectGeometry &right)=delete
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MdtIntersectGeometry::m_dbData
const MdtCondDbData * m_dbData
Definition: MdtIntersectGeometry.h:51
Muon::MdtIntersectGeometry::MdtIntersectGeometry
MdtIntersectGeometry(MsgStream &msg, const Identifier &chid, const IMuonIdHelperSvc *idHelperSvc, const MuonGM::MuonDetectorManager *detMgr, const MdtCondDbData *dbData)
Definition: MdtIntersectGeometry.cxx:22
Muon::MdtIntersectGeometry::transform
const Amg::Transform3D & transform() const
Definition: MdtIntersectGeometry.h:35
Muon::MdtIntersectGeometry::m_deadTubes
std::vector< Identifier > m_deadTubes
Definition: MdtIntersectGeometry.h:54
GeoPrimitives.h
Muon::MuonIntersectGeometry
Definition: MuonIntersectGeometry.h:12
Muon::MdtIntersectGeometry::intersection
MuonStationIntersect intersection(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override
Definition: MdtIntersectGeometry.cxx:30
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
Muon::MdtIntersectGeometry::mdtChamberGeometry
std::shared_ptr< const TrkDriftCircleMath::MdtChamberGeometry > mdtChamberGeometry() const
Definition: MdtIntersectGeometry.cxx:198
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Muon::MdtIntersectGeometry::~MdtIntersectGeometry
virtual ~MdtIntersectGeometry()
MdtChamberGeometry.h
Muon::MdtIntersectGeometry::init
void init(MsgStream &msg)
Definition: MdtIntersectGeometry.cxx:98
beamspotman.dir
string dir
Definition: beamspotman.py:623
Muon::MdtIntersectGeometry::operator=
MdtIntersectGeometry & operator=(const MdtIntersectGeometry &right)=delete
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Muon::MdtIntersectGeometry::tubeLength
double tubeLength(const int ml, const int layer, const int tube) const
Definition: MdtIntersectGeometry.cxx:69
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
MuonIntersectGeometry.h
Muon::MuonStationIntersect
Definition: MuonStationIntersect.h:12
Muon::MdtIntersectGeometry::m_detElMl1
const MuonGM::MdtReadoutElement * m_detElMl1
Definition: MdtIntersectGeometry.h:49
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
Muon::MdtIntersectGeometry::m_chid
Identifier m_chid
Definition: MdtIntersectGeometry.h:45
Muon::MdtIntersectGeometry::m_deadTubesML
std::set< Identifier > m_deadTubesML
Definition: MdtIntersectGeometry.h:53
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:26
Muon::MdtIntersectGeometry::fillDeadTubes
void fillDeadTubes(const MuonGM::MdtReadoutElement *mydetEl, MsgStream &msg)
Definition: MdtIntersectGeometry.cxx:199
Muon::MdtIntersectGeometry::m_detMgr
const MuonGM::MuonDetectorManager * m_detMgr
Definition: MdtIntersectGeometry.h:50
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
calibdata.tube
tube
Definition: calibdata.py:31
Muon::MdtIntersectGeometry::m_transform
Amg::Transform3D m_transform
Definition: MdtIntersectGeometry.h:46
IMuonIdHelperSvc.h