ATLAS Offline Software
Loading...
Searching...
No Matches
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"
13class MsgStream;
14namespace MuonGM {
17} // namespace MuonGM
18
19class MdtCondDbData;
20
21namespace 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
double tubeLength
This is a "hash" representation of an Identifier.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
std::set< Identifier > m_deadTubesML
std::shared_ptr< const TrkDriftCircleMath::MdtChamberGeometry > mdtChamberGeometry() const
const MdtCondDbData * m_dbData
const Amg::Transform3D & transform() const
std::vector< Identifier > m_deadTubes
MdtIntersectGeometry & operator=(const MdtIntersectGeometry &right)=delete
const IMuonIdHelperSvc * m_idHelperSvc
void fillDeadTubes(const MuonGM::MdtReadoutElement *mydetEl, MsgStream &msg)
MdtIntersectGeometry(const MdtIntersectGeometry &right)=delete
void init(const MuonGM::MuonDetectorManager *detMgr, MsgStream &msg)
std::shared_ptr< TrkDriftCircleMath::MdtChamberGeometry > m_mdtGeometry
const Identifier & chamberId() const
MuonStationIntersect intersection(const MuonGM::MuonDetectorManager *detMgr, const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override
MdtIntersectGeometry(MsgStream &msg, const Identifier &chid, const IMuonIdHelperSvc *idHelperSvc, const MuonGM::MuonDetectorManager *detMgr, const MdtCondDbData *dbData)
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
MsgStream & msg
Definition testRead.cxx:32