ATLAS Offline Software
Loading...
Searching...
No Matches
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
16class GeoMaterial;
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
52public:
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
105protected:
106
107 double m_yCutout{0.};
108 double m_stripPitch{0.};
109 double m_wirePitch{0.};
110 double m_stripWidth{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
double z() const
AGDDDetector(const std::string &s)
void y(double yval)
double small_x() const
double large_x() const
double y() const
virtual void SetDetectorAddress(AGDDDetectorPositioner *) override
sTGCReadoutParameters & GetReadoutParameters()
sTGCReadoutParameters roParameters
virtual void SetXYZ(const std::vector< double > &v) override
sTGCDetectorDescription(const std::string &s, AGDDDetectorStore &ds)
MuonGM::sTGC_Technology * GetTechnology()
std::vector< int > firstWireGroup
std::vector< int > StripsInBandsLayer1
std::vector< double > firstPadPhiDivision_A
std::vector< int > firstStripInTrigger
std::vector< double > firstPadPhiDivision_C
std::vector< double > firstStripWidth
std::vector< int > StripsInBandsLayer4
std::vector< double > firstPadH
std::vector< int > StripsInBandsLayer3
std::vector< double > firstWire
std::vector< double > PadPhiShift_C
std::vector< int > StripsInBandsLayer2
std::vector< double > padH
std::vector< double > wireCutout
std::vector< int > firstTriggerBand
std::vector< double > PadPhiShift_A
std::vector< double > nPadH
std::vector< int > nTriggerBands