ATLAS Offline Software
sTGCDetectorDescription.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef sTGCDetectorDescription_H
6 #define sTGCDetectorDescription_H
7 
12 #include <string>
13 #include <vector>
14 #include <iostream>
15 
16 class GeoMaterial;
17 class AGDDDetectorStore;
18 
20  double sPadWidth{0.};
21  double lPadWidth{0.};
22  double sStripWidth{0.};
23  double lStripWidth{0.};
24  std::vector<double> padH{};
25  std::vector<int> nPadPhi{};
26  double anglePadPhi{0.};
27  std::vector<double> firstPadPhiDivision_A{};
28  std::vector<double> firstPadPhiDivision_C{};
29  std::vector<double> PadPhiShift_A{};
30  std::vector<double> PadPhiShift_C{};
31  std::vector<double> nPadH{};
32  std::vector<double> firstPadH{};
33  std::vector<int> firstPadRow{};
34  std::vector<int> nWires{};
35  std::vector<double> wireCutout{};
36  std::vector<double> firstWire{};
38  int nStrips{0};
39  std::vector<int> firstTriggerBand{};
40  std::vector<int> nTriggerBands{};
41  std::vector<int> firstStripInTrigger{};
42  std::vector<double> firstStripWidth{};
43  std::vector<int> StripsInBandsLayer1{};
44  std::vector<int> StripsInBandsLayer2{};
45  std::vector<int> StripsInBandsLayer3{};
46  std::vector<int> StripsInBandsLayer4{};
47  std::vector<int> nWireGroups{};
48  std::vector<int> firstWireGroup{};
49 };
50 
52 public:
53  sTGCDetectorDescription(const std::string& s,
55  void Register();
56 
57  virtual void SetXYZ(const std::vector<double>& v) override
58  {
59  small_x(v[0]);
60  large_x(v[1]);
61  y(v[2]);
62  z(v[3]);
63  m_yCutout=v[4];
64  m_stripPitch=v[5];
65  m_wirePitch=v[6];
66  m_stripWidth=v[7];
68  }
69 
70  double sWidth() const {return small_x();}
71  double lWidth() const {return large_x();}
72  double Length() const {return y();}
73  double Tck() const {return z();}
74 
75  void yCutout(double y) {m_yCutout=y;}
76  double yCutout() const {return m_yCutout;}
77 
78  void stripPitch(double y) {m_stripPitch=y;}
79  double stripPitch() const {return m_stripPitch;}
80 
81  void wirePitch(double y) {m_wirePitch=y;}
82  double wirePitch() const {return m_wirePitch;}
83 
84  void stripWidth(double y) {m_stripWidth=y;}
85  double stripWidth() const {return m_stripWidth;}
86 
88  double yCutoutCathode() const {return m_yCutoutCathode;}
89 
90  void xFrame(double y) {m_xFrame=y;}
91  double xFrame() const {return m_xFrame;}
92 
93  void ysFrame(double y) {m_ysFrame=y;}
94  double ysFrame() const {return m_ysFrame;}
95 
96  void ylFrame(double y) {m_ylFrame=y;}
97  double ylFrame() const {return m_ylFrame;}
98 
100 
102 
104 
105 protected:
106 
107  double m_yCutout{0.};
108  double m_stripPitch{0.};
109  double m_wirePitch{0.};
110  double m_stripWidth{0.};
111  double m_yCutoutCathode{0.};
112 
113  double m_xFrame{0.};
114  double m_ysFrame{0.};
115  double m_ylFrame{0.};
116 
118 
119  virtual void SetDetectorAddress(AGDDDetectorPositioner*) override;
120 };
121 
122 #endif
sTGCDetectorDescription::roParameters
sTGCReadoutParameters roParameters
Definition: sTGCDetectorDescription.h:99
sTGCReadoutParameters::sStripWidth
double sStripWidth
Definition: sTGCDetectorDescription.h:22
sTGCReadoutParameters::firstPadPhiDivision_A
std::vector< double > firstPadPhiDivision_A
Definition: sTGCDetectorDescription.h:27
sTGCReadoutParameters::StripsInBandsLayer1
std::vector< int > StripsInBandsLayer1
Definition: sTGCDetectorDescription.h:43
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:257
sTGCDetectorDescription::m_wirePitch
double m_wirePitch
Definition: sTGCDetectorDescription.h:109
sTGCDetectorDescription::ylFrame
void ylFrame(double y)
Definition: sTGCDetectorDescription.h:96
sTGCDetectorDescription::ysFrame
double ysFrame() const
Definition: sTGCDetectorDescription.h:94
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
sTGCDetectorDescription::sWidth
double sWidth() const
Definition: sTGCDetectorDescription.h:70
sTGC_Technology.h
sTGCDetectorDescription::SetDetectorAddress
virtual void SetDetectorAddress(AGDDDetectorPositioner *) override
Definition: sTGCDetectorDescription.cxx:28
sTGCDetectorDescription::m_ylFrame
double m_ylFrame
Definition: sTGCDetectorDescription.h:115
AGDDDetectorPositioner
Definition: AGDDDetectorPositioner.h:39
AGDDDetector::y
double y() const
Definition: AGDDDetector.h:35
sTGCReadoutParameters::nPadPhi
std::vector< int > nPadPhi
Definition: sTGCDetectorDescription.h:25
sTGCReadoutParameters::lPadWidth
double lPadWidth
Definition: sTGCDetectorDescription.h:21
sTGCDetectorDescription::Length
double Length() const
Definition: sTGCDetectorDescription.h:72
sTGCReadoutParameters::nWireGroups
std::vector< int > nWireGroups
Definition: sTGCDetectorDescription.h:47
sTGCReadoutParameters
Definition: sTGCDetectorDescription.h:19
sTGCDetectorDescription::Tck
double Tck() const
Definition: sTGCDetectorDescription.h:73
sTGCDetectorDescription::sTGCDetectorDescription
sTGCDetectorDescription(const std::string &s, AGDDDetectorStore &ds)
Definition: sTGCDetectorDescription.cxx:14
sTGCDetectorDescription::wirePitch
void wirePitch(double y)
Definition: sTGCDetectorDescription.h:81
sTGCDetectorDescription::m_ds
AGDDDetectorStore & m_ds
Definition: sTGCDetectorDescription.h:117
sTGCDetectorDescription::yCutout
double yCutout() const
Definition: sTGCDetectorDescription.h:76
sTGCDetectorDescription::m_stripWidth
double m_stripWidth
Definition: sTGCDetectorDescription.h:110
sTGCReadoutParameters::StripsInBandsLayer3
std::vector< int > StripsInBandsLayer3
Definition: sTGCDetectorDescription.h:45
sTGCDetectorDescription
Definition: sTGCDetectorDescription.h:51
AGDDDetector::large_x
double large_x() const
Definition: AGDDDetector.h:34
sTGCReadoutParameters::nTriggerBands
std::vector< int > nTriggerBands
Definition: sTGCDetectorDescription.h:40
MuonGM::sTGC_Technology
Definition: MuonAGDDDescription/MuonAGDDDescription/sTGC_Technology.h:16
sTGCDetectorDescription::yCutoutCathode
void yCutoutCathode(double y)
Definition: sTGCDetectorDescription.h:87
GeoPrimitives.h
AGDDDetector
Definition: AGDDDetector.h:15
AGDDDetector::z
double z() const
Definition: AGDDDetector.h:36
sTGCReadoutParameters::PadPhiShift_A
std::vector< double > PadPhiShift_A
Definition: sTGCDetectorDescription.h:29
sTGCReadoutParameters::firstPadPhiDivision_C
std::vector< double > firstPadPhiDivision_C
Definition: sTGCDetectorDescription.h:28
sTGCDetectorDescription::m_ysFrame
double m_ysFrame
Definition: sTGCDetectorDescription.h:114
sTGCReadoutParameters::firstTriggerBand
std::vector< int > firstTriggerBand
Definition: sTGCDetectorDescription.h:39
sTGCDetectorDescription::m_stripPitch
double m_stripPitch
Definition: sTGCDetectorDescription.h:108
sTGCDetectorDescription::m_xFrame
double m_xFrame
Definition: sTGCDetectorDescription.h:113
sTGCDetectorDescription::Register
void Register()
Definition: sTGCDetectorDescription.cxx:22
sTGCDetectorDescription::stripWidth
void stripWidth(double y)
Definition: sTGCDetectorDescription.h:84
sTGCDetectorDescription::stripWidth
double stripWidth() const
Definition: sTGCDetectorDescription.h:85
sTGCDetectorDescription::ysFrame
void ysFrame(double y)
Definition: sTGCDetectorDescription.h:93
sTGCReadoutParameters::wireGroupWidth
int wireGroupWidth
Definition: sTGCDetectorDescription.h:37
sTGCReadoutParameters::nPadH
std::vector< double > nPadH
Definition: sTGCDetectorDescription.h:31
sTGCDetectorDescription::GetTechnology
MuonGM::sTGC_Technology * GetTechnology()
Definition: sTGCDetectorDescription.cxx:49
sTGCDetectorDescription::ylFrame
double ylFrame() const
Definition: sTGCDetectorDescription.h:97
sTGCReadoutParameters::firstWireGroup
std::vector< int > firstWireGroup
Definition: sTGCDetectorDescription.h:48
sTGCReadoutParameters::lStripWidth
double lStripWidth
Definition: sTGCDetectorDescription.h:23
sTGCDetectorDescription::yCutoutCathode
double yCutoutCathode() const
Definition: sTGCDetectorDescription.h:88
sTGCReadoutParameters::padH
std::vector< double > padH
Definition: sTGCDetectorDescription.h:24
sTGCDetectorDescription::xFrame
void xFrame(double y)
Definition: sTGCDetectorDescription.h:90
sTGCReadoutParameters::firstStripWidth
std::vector< double > firstStripWidth
Definition: sTGCDetectorDescription.h:42
sTGCReadoutParameters::wireCutout
std::vector< double > wireCutout
Definition: sTGCDetectorDescription.h:35
sTGCDetectorDescription::yCutout
void yCutout(double y)
Definition: sTGCDetectorDescription.h:75
AGDDDetector::small_x
double small_x() const
Definition: AGDDDetector.h:33
AGDDDetectorStore
Definition: AGDDDetectorStore.h:18
sTGCDetectorDescription::SetXYZ
virtual void SetXYZ(const std::vector< double > &v) override
Definition: sTGCDetectorDescription.h:57
sTGCReadoutParameters::firstPadRow
std::vector< int > firstPadRow
Definition: sTGCDetectorDescription.h:33
sTGCReadoutParameters::firstPadH
std::vector< double > firstPadH
Definition: sTGCDetectorDescription.h:32
sTGCReadoutParameters::StripsInBandsLayer2
std::vector< int > StripsInBandsLayer2
Definition: sTGCDetectorDescription.h:44
AGDDDetector.h
python.PyAthena.v
v
Definition: PyAthena.py:157
sTGCDetectorDescription::stripPitch
double stripPitch() const
Definition: sTGCDetectorDescription.h:79
sTGCDetectorDescription::wirePitch
double wirePitch() const
Definition: sTGCDetectorDescription.h:82
sTGCReadoutParameters::StripsInBandsLayer4
std::vector< int > StripsInBandsLayer4
Definition: sTGCDetectorDescription.h:46
sTGCDetectorDescription::xFrame
double xFrame() const
Definition: sTGCDetectorDescription.h:91
sTGCDetectorDescription::m_yCutout
double m_yCutout
Definition: sTGCDetectorDescription.h:107
sTGCReadoutParameters::firstWire
std::vector< double > firstWire
Definition: sTGCDetectorDescription.h:36
sTGCDetectorDescription::lWidth
double lWidth() const
Definition: sTGCDetectorDescription.h:71
sTGCDetectorDescription::m_yCutoutCathode
double m_yCutoutCathode
Definition: sTGCDetectorDescription.h:111
sTGCReadoutParameters::firstStripInTrigger
std::vector< int > firstStripInTrigger
Definition: sTGCDetectorDescription.h:41
sTGCReadoutParameters::sPadWidth
double sPadWidth
Definition: sTGCDetectorDescription.h:20
sTGCReadoutParameters::nWires
std::vector< int > nWires
Definition: sTGCDetectorDescription.h:34
sTGCReadoutParameters::anglePadPhi
double anglePadPhi
Definition: sTGCDetectorDescription.h:26
sTGCReadoutParameters::PadPhiShift_C
std::vector< double > PadPhiShift_C
Definition: sTGCDetectorDescription.h:30
sTGCDetectorDescription::stripPitch
void stripPitch(double y)
Definition: sTGCDetectorDescription.h:78
sTGCReadoutParameters::nStrips
int nStrips
Definition: sTGCDetectorDescription.h:38
sTGCDetectorDescription::GetReadoutParameters
sTGCReadoutParameters & GetReadoutParameters()
Definition: sTGCDetectorDescription.h:101