ATLAS Offline Software
DblQ00Wmdt.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /********************************************************
6  Class def for MuonGeoModel DblQ00/WMDT
7  *******************************************************/
8 
9  // author: S Spagnolo
10  // entered: 07/28/04
11  // comment: MDT
12 
13 #ifndef DBLQ00_WMDT_H
14 #define DBLQ00_WMDT_H
15 
16 #include <string>
17 #include <vector>
18 #include <array>
19 
20 class IRDBAccessSvc;
21 
22 
23 namespace MuonGM {
24 class DblQ00Wmdt {
25 public:
26  DblQ00Wmdt() = default;
27  ~DblQ00Wmdt() = default;
28  DblQ00Wmdt(IRDBAccessSvc *pAccessSvc, const std::string & GeoTag="", const std::string & GeoNode="");
29 
30  DblQ00Wmdt & operator=(const DblQ00Wmdt &right)=delete;
31  DblQ00Wmdt(const DblQ00Wmdt&)=delete;
32 
33  // data members for DblQ00/WMDT fields
34  struct WMDT {
35  int version{0}; // VERSION
36  std::string typ{}; // NAME
37  int iw{0}; // INDEX
38  float x0{0.f}; // X0
39  int laymdt{0}; // MAXIMUM LAYER NUMBER
40  float tubpit{0.f}; // PITCH BETWEEN TUBE
41  float tubrad{0.f}; // RADIUS OF TUBE
42  float tubsta{0.f}; // THICKNESS OF TUBE
43  float tubdea{0.f}; // DEAD LENGTH IN TUBES
44  std::array<float, 4> tubxco{}; // Y TUBE POSITION
45  std::array<float, 4> tubyco{}; // X TUBE POSITION
46  float tubwal{0.f}; // TUBE WALL THICKNESS
47  };
48 
49  const WMDT* data() const { return m_d.data(); };
50  unsigned int size() const { return m_nObj; };
51  std::string getName() const { return "WMDT"; };
52  std::string getDirName() const { return "DblQ00"; };
53  std::string getObjName() const { return "WMDT"; };
54 
55 private:
56  std::vector<WMDT> m_d{};
57  unsigned int m_nObj{0}; // > 1 if array; 0 if error in retrieve.
58 };
59 } // end of MuonGM namespace
60 
61 #endif // DBLQ00_WMDT_H
62 
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonGM::DblQ00Wmdt::WMDT::tubwal
float tubwal
Definition: DblQ00Wmdt.h:46
MuonGM::DblQ00Wmdt
Definition: DblQ00Wmdt.h:24
MuonGM::DblQ00Wmdt::WMDT::tubdea
float tubdea
Definition: DblQ00Wmdt.h:43
MuonGM::DblQ00Wmdt::getObjName
std::string getObjName() const
Definition: DblQ00Wmdt.h:53
MuonGM::DblQ00Wmdt::WMDT::tubpit
float tubpit
Definition: DblQ00Wmdt.h:40
MuonGM::DblQ00Wmdt::m_nObj
unsigned int m_nObj
Definition: DblQ00Wmdt.h:57
MuonGM::DblQ00Wmdt::WMDT::tubrad
float tubrad
Definition: DblQ00Wmdt.h:41
MuonGM::DblQ00Wmdt::getDirName
std::string getDirName() const
Definition: DblQ00Wmdt.h:52
MuonGM::DblQ00Wmdt::WMDT::version
int version
Definition: DblQ00Wmdt.h:35
MuonGM::DblQ00Wmdt::getName
std::string getName() const
Definition: DblQ00Wmdt.h:51
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
MuonGM::DblQ00Wmdt::WMDT::laymdt
int laymdt
Definition: DblQ00Wmdt.h:39
MuonGM::DblQ00Wmdt::DblQ00Wmdt
DblQ00Wmdt(const DblQ00Wmdt &)=delete
MuonGM::DblQ00Wmdt::WMDT::iw
int iw
Definition: DblQ00Wmdt.h:37
MuonGM::DblQ00Wmdt::DblQ00Wmdt
DblQ00Wmdt()=default
MuonGM::DblQ00Wmdt::~DblQ00Wmdt
~DblQ00Wmdt()=default
MuonGM::DblQ00Wmdt::size
unsigned int size() const
Definition: DblQ00Wmdt.h:50
MuonGM::DblQ00Wmdt::WMDT::tubyco
std::array< float, 4 > tubyco
Definition: DblQ00Wmdt.h:45
MuonGM::DblQ00Wmdt::m_d
std::vector< WMDT > m_d
Definition: DblQ00Wmdt.h:56
MuonGM::DblQ00Wmdt::operator=
DblQ00Wmdt & operator=(const DblQ00Wmdt &right)=delete
MuonGM::DblQ00Wmdt::WMDT
Definition: DblQ00Wmdt.h:34
MuonGM::DblQ00Wmdt::WMDT::x0
float x0
Definition: DblQ00Wmdt.h:38
MuonGM::DblQ00Wmdt::WMDT::typ
std::string typ
Definition: DblQ00Wmdt.h:36
MuonGM::DblQ00Wmdt::WMDT::tubxco
std::array< float, 4 > tubxco
Definition: DblQ00Wmdt.h:44
MuonGM::DblQ00Wmdt::WMDT::tubsta
float tubsta
Definition: DblQ00Wmdt.h:42
MuonGM::DblQ00Wmdt::data
const WMDT * data() const
Definition: DblQ00Wmdt.h:49