ATLAS Offline Software
DblQ00Almn.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/ALMN
7  *******************************************************/
8 
9  // author: S Spagnolo
10  // entered: 07/28/04
11  // comment: MUON STATION ELEMENT
12 
13 #ifndef DBLQ00_ALMN_H
14 #define DBLQ00_ALMN_H
15 #include <string>
16 #include <vector>
17 #include <array>
18 
19 class IRDBAccessSvc;
20 
21 
22 namespace MuonGM {
23 class DblQ00Almn {
24 public:
25  DblQ00Almn() = default;
26  ~DblQ00Almn() = default;
27  DblQ00Almn(IRDBAccessSvc *pAccessSvc, const std::string & GeoTag="", const std::string & GeoNode="");
28 
29  DblQ00Almn & operator=(const DblQ00Almn &right) = default;
30  DblQ00Almn(const DblQ00Almn&) = default;
31 
32 
33  // data members for DblQ00/ALMN fields
34  struct ALMN {
35  int version{0}; // VERSION
36  int i{0}; // ELEMENT NUMBER
37  float dx{0.f}; // X RELATIVE POSITION OF THE OBJECT
38  float dy{0.f}; // Y RELATIVE POSITION OF THE OBJECT
39  float dz{0.f}; // Z RELATIVE POSITION OF THE OBJECT
40  int job{0}; // OBJECT SERIAL NUMBER IN THE STATION
41  std::string tec{}; // TYPE OF TECHNOLOGY USED FOR THE OBJECT
42  int iw{0}; // INNER STRUCTURE TYPE INDEX, ISTA
43  int isplit_x{0}; // NUMBER OF SECTIONS IN X
44  int isplit_y{0}; // NUMBER OF SECTIONS IN Y
45  int ishape{0}; // TYPE OF GEOMETRICAL SHAPE 0-TRAPEZOIDAL,
46  float width_xs{0.f}; // S WIDTH, WS
47  float width_xl{0.f}; // L WIDTH, WL
48  float length_y{0.f}; // Y LENGTH, LE
49  float excent{0.f}; // ADDITIONAL INFORMATION, EX
50  float dead1{0.f}; // FIRST DEAD MATERIAL, D1
51  float dead2{0.f}; // SECOND DEAD MATERIAL, D2
52  float dead3{0.f}; // STEPS, D3
53  int jtyp{0}; // STATION TYPE
54  int indx{0}; // ELEMENT NUMBER
55  };
56 
57  const ALMN* data() const { return m_d.data(); };
58  unsigned int size() const { return m_nObj; };
59  std::string getName() const { return "ALMN"; };
60  std::string getDirName() const { return "DblQ00"; };
61  std::string getObjName() const { return "ALMN"; };
62 
63 private:
64  std::vector<ALMN> m_d{};
65  unsigned int m_nObj{0}; // > 1 if array; 0 if error in retrieve.
66 };
67 
68 
69 } // end of MuonGM namespace
70 
71 #endif // DBLQ00_ALMN_H
72 
MuonGM::DblQ00Almn::operator=
DblQ00Almn & operator=(const DblQ00Almn &right)=default
MuonGM::DblQ00Almn::ALMN::job
int job
Definition: DblQ00Almn.h:40
MuonGM::DblQ00Almn::ALMN
Definition: DblQ00Almn.h:34
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonGM::DblQ00Almn::getDirName
std::string getDirName() const
Definition: DblQ00Almn.h:60
MuonGM::DblQ00Almn::ALMN::length_y
float length_y
Definition: DblQ00Almn.h:48
MuonGM::DblQ00Almn::DblQ00Almn
DblQ00Almn()=default
MuonGM::DblQ00Almn::ALMN::i
int i
Definition: DblQ00Almn.h:36
MuonGM::DblQ00Almn::data
const ALMN * data() const
Definition: DblQ00Almn.h:57
MuonGM::DblQ00Almn::ALMN::isplit_y
int isplit_y
Definition: DblQ00Almn.h:44
MuonGM::DblQ00Almn::ALMN::width_xl
float width_xl
Definition: DblQ00Almn.h:47
MuonGM::DblQ00Almn::m_nObj
unsigned int m_nObj
Definition: DblQ00Almn.h:65
MuonGM::DblQ00Almn::~DblQ00Almn
~DblQ00Almn()=default
MuonGM::DblQ00Almn::DblQ00Almn
DblQ00Almn(const DblQ00Almn &)=default
MuonGM::DblQ00Almn::ALMN::indx
int indx
Definition: DblQ00Almn.h:54
MuonGM::DblQ00Almn::m_d
std::vector< ALMN > m_d
Definition: DblQ00Almn.h:64
MuonGM::DblQ00Almn::ALMN::version
int version
Definition: DblQ00Almn.h:35
MuonGM::DblQ00Almn::ALMN::dz
float dz
Definition: DblQ00Almn.h:39
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
MuonGM::DblQ00Almn::size
unsigned int size() const
Definition: DblQ00Almn.h:58
MuonGM::DblQ00Almn::ALMN::dead2
float dead2
Definition: DblQ00Almn.h:51
MuonGM::DblQ00Almn::ALMN::tec
std::string tec
Definition: DblQ00Almn.h:41
MuonGM::DblQ00Almn::ALMN::jtyp
int jtyp
Definition: DblQ00Almn.h:53
MuonGM::DblQ00Almn::ALMN::ishape
int ishape
Definition: DblQ00Almn.h:45
MuonGM::DblQ00Almn::ALMN::isplit_x
int isplit_x
Definition: DblQ00Almn.h:43
MuonGM::DblQ00Almn
Definition: DblQ00Almn.h:23
MuonGM::DblQ00Almn::ALMN::dx
float dx
Definition: DblQ00Almn.h:37
MuonGM::DblQ00Almn::ALMN::dead1
float dead1
Definition: DblQ00Almn.h:50
MuonGM::DblQ00Almn::ALMN::dy
float dy
Definition: DblQ00Almn.h:38
MuonGM::DblQ00Almn::getName
std::string getName() const
Definition: DblQ00Almn.h:59
MuonGM::DblQ00Almn::ALMN::excent
float excent
Definition: DblQ00Almn.h:49
MuonGM::DblQ00Almn::ALMN::dead3
float dead3
Definition: DblQ00Almn.h:52
MuonGM::DblQ00Almn::getObjName
std::string getObjName() const
Definition: DblQ00Almn.h:61
MuonGM::DblQ00Almn::ALMN::iw
int iw
Definition: DblQ00Almn.h:42
MuonGM::DblQ00Almn::ALMN::width_xs
float width_xs
Definition: DblQ00Almn.h:46