ATLAS Offline Software
RPC_Technology.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef RPC_H
6 #define RPC_H
7 
9 
10 #define RPCprint false
11 namespace MuonGM {
12  class MYSQL;
13 
14  class RPC : public Technology {
15  public:
16  // the internal RPC geometry parameters{
17  // the external support panel is the pre-bent panel: the honeycomb material can depend of the
18  // station type !!!!
20  double externalAlSupPanelThickness{0.}; // given by AMDB W RPC
21  // for Lay.P lower=external and upper does not exist
22  // for Lay.M lower and upper are given separatly by AMDB
27  // the central support panel
29  double centralAlSupPanelThickness{0.}; // given by AMDB W RPC
30 
31  // A rpcLayer consists of a bakelite gas volume,
32  // a pet foil (on top[bottom] of the bakelite gas volume for the lower[upper] gas gap in a doublet),
33  // two strip panel layers, one on each side of the bakelite gas gap
34  double rpcLayerThickness{0.}; // given by AMDB
35  // TotalThickness = 2*rpcLayerThickness + centralSupPanelThickness + externalSupPanelThickness
36  // for layout P and following
37  // TotalThickness = 2*rpcLayerThickness + centralSupPanelThickness + lower + upperSupPanelThickness
38  // for layout M
39  double TotalThickness{0.}; // given by AMDB
40 
41  // GasGap consists of a bakelite gas volume,
42  // a pet foil (on top[bottom] of the bakelite gas volume for the lower[upper] gas gap in a doublet)
43  int NGasGaps_in_s{0}; // from AMDB
44  int NGasGaps_in_z{0}; // from AMDB
45  double GasGapThickness{0.}; // must be computed, if needed, from the following data
46  double bakeliteThickness{0.}; // from AMDB P
47  double bakeliteframesize{0.}; // from where ?????????????
48  double bakelitePetThickness{0.}; // from amdb
49  double gasThickness{0.}; // from AMDB
50  double totalAirThickness{0.}; // from AMDB P
51 
52  // The spacers reinforcing the gasgap structure
53  double spacerDiameter{0.};
54  double spacerPitch{0.}; // from AMDB P
55 
56  // extra pet foil
57  double petFoilThickness{0.};
58 
59  // StripPanels
61  int NstripPanels_in_z{0}; // from AMDB
63  double MidChamberDeadRegion_in_z{0.}; // from AMDB
64  double stripPitchS{0.};
65  double stripPitchZ{0.};
66  double stripSeparation{0.}; // from AMDB
67  double stripPanelThickness{0.}; // to be computed from the following quantities
68  double stripPanelFoamThickness{0.}; // from AMDB
69  double stripPanelCopperSkinThickness{0.}; // from AMDB
71  double stripPanelGroundSidePetThickness{0.}; // from AMDB
72  double frontendBoardWidth{0.};
73  double backendBoardWidth{0.};
74 
75  double maxThickness{0.}; // dictated by sup clearance !!!!
76 
77  // end of the internal RPC geometry parameters}
78 
79  double supportThickness{0.};
81 
83  double alThickness{0.};
84 
85  double RPCLayerThickness{0.};
86  double foamSpacerThickness{0.};
87  double xx{0.};
89  double yy{0.};
90  double totalThickness{0.};
91  double pitchs{0.};
92  double pitchz{0.};
93  double deadSeparation{0.};
94  double gazGapThickness{0.};
96  double stripsThickness{0.};
98  double firstStripsOffset{0.};
99  double secondStripsOffset{0.};
101 
102  double centralalThickness{0.};
103  double petUpperThickness{0.};
104  double petLowerThickness{0.};
107  double sStripsOffset{0.};
108  double zFirstStripsOffset{0.};
112  double sGasGapsNumber{0.};
113 
114  RPC(MYSQL& mysql, const std::string& s)
115  : Technology(mysql, s){}
116 
117  double GetCentralalThickness() const { return centralalThickness; }
118  double GetRPCLayerThickness() const { return RPCLayerThickness; }
119  double GetFoamSpacerThickness() const { return foamSpacerThickness; }
121  double GetAlThickness() const { return alThickness; }
122  double GetPitchs() const { return pitchs; }
123  double GetPitchz() const { return pitchz; }
124  double GetDeadSeparation() const { return deadSeparation; }
125  double GetBakeliteThickness() const { return bakeliteThickness; }
126  double GetGazGapThickness() const { return gazGapThickness; }
127  double GetAirThickness() const { return totalAirThickness; }
129  double GetStripsThickness() const { return stripsThickness; }
130  double GetPetUpperThickness() const { return petUpperThickness; }
131  double GetPetLowerThickness() const { return petLowerThickness; }
134  double GetSpacerDiameter() const { return spacerDiameter; }
135  double GetSpacerPitch() const { return spacerPitch; }
136  double GetSStripsOffset() const { return sStripsOffset; }
137  double GetZFirstStripsOffset() const { return zFirstStripsOffset; }
138  double GetZSecondStripsOffset() const { return zSecondStripsOffset; }
141  double GetSGasGapsNumber() const { return sGasGapsNumber; }
142  // set methods
143 
148  void SetAlThickness(double d) { alThickness = d; };
149  void SetPitchs(double d) { pitchs = d; };
150  void SetPitchz(double d) { pitchz = d; };
151  void SetDeadSeparation(double d) { deadSeparation = d; };
153  void SetGazGapThickness(double d) { gazGapThickness = d; };
154  // void SetPetThickness(double d){petThickness=d;};
155  void SetAirThickness(double d) { totalAirThickness = d; };
157  void SetStripsThickness(double d) { stripsThickness = d; };
162  void SetSpacerDiameter(double d) { spacerDiameter = d; };
163  void SetSpacerPitch(double d) { spacerPitch = d; };
164  void SetSStripsOffset(double d) { sStripsOffset = d; };
169  void SetSGasGapsNumber(double d) { sGasGapsNumber = d; };
170  };
171 } // namespace MuonGM
172 
173 #endif
MuonGM::RPC::spacerDiameter
double spacerDiameter
Definition: RPC_Technology.h:53
MuonGM::RPC::sGasGapsNumber
double sGasGapsNumber
Definition: RPC_Technology.h:112
MuonGM::RPC::lowerAlSupPanelThickness
double lowerAlSupPanelThickness
Definition: RPC_Technology.h:24
MuonGM::RPC::GetZSecondStripsOffset
double GetZSecondStripsOffset() const
Definition: RPC_Technology.h:138
MuonGM::RPC::stripsSupportThickness
double stripsSupportThickness
Definition: RPC_Technology.h:95
MuonGM::RPC::bakeliteframesize
double bakeliteframesize
Definition: RPC_Technology.h:47
MuonGM::RPC::SetSNumberOfStripsReadouts
void SetSNumberOfStripsReadouts(double d)
Definition: RPC_Technology.h:167
MuonGM::RPC::GetZNumberOfStripsReadouts
double GetZNumberOfStripsReadouts() const
Definition: RPC_Technology.h:140
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonGM::RPC::GetPetUpperThickness
double GetPetUpperThickness() const
Definition: RPC_Technology.h:130
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MuonGM::RPC::SetSGasGapsNumber
void SetSGasGapsNumber(double d)
Definition: RPC_Technology.h:169
MuonGM::RPC::stripPanelFoamThickness
double stripPanelFoamThickness
Definition: RPC_Technology.h:68
MuonGM::RPC::SetBakeliteThickness
void SetBakeliteThickness(double d)
Definition: RPC_Technology.h:152
MuonGM::RPC::frontendBoardWidth
double frontendBoardWidth
Definition: RPC_Technology.h:72
MuonGM::RPC::bakelitePetThickness
double bakelitePetThickness
Definition: RPC_Technology.h:48
MuonGM::RPC::totalThickness
double totalThickness
Definition: RPC_Technology.h:90
MuonGM::RPC::SetPitchz
void SetPitchz(double d)
Definition: RPC_Technology.h:150
MuonGM::RPC::spacerPitch
double spacerPitch
Definition: RPC_Technology.h:54
MuonGM::RPC::externalAlSupPanelThickness
double externalAlSupPanelThickness
Definition: RPC_Technology.h:20
MuonGM::RPC::stripPanelStripSidePetThickness
double stripPanelStripSidePetThickness
Definition: RPC_Technology.h:70
MuonGM::RPC::SetZFirstStripsOffset
void SetZFirstStripsOffset(double d)
Definition: RPC_Technology.h:165
MuonGM::RPC::yy
double yy
Definition: RPC_Technology.h:89
hist_file_dump.d
d
Definition: hist_file_dump.py:137
MuonGM::RPC::totalAirThickness
double totalAirThickness
Definition: RPC_Technology.h:50
MuonGM::RPC::RPC
RPC(MYSQL &mysql, const std::string &s)
Definition: RPC_Technology.h:114
MuonGM::RPC::GetPitchz
double GetPitchz() const
Definition: RPC_Technology.h:123
MuonGM::RPC::GetAirThickness
double GetAirThickness() const
Definition: RPC_Technology.h:127
MuonGM::RPC::NstripPanels_in_z
int NstripPanels_in_z
Definition: RPC_Technology.h:61
MuonGM::RPC::petFoilThickness
double petFoilThickness
Definition: RPC_Technology.h:57
MuonGM::RPC::GetSNumberOfStripsReadouts
double GetSNumberOfStripsReadouts() const
Definition: RPC_Technology.h:139
MuonGM::RPC::SetZNumberOfStripsReadouts
void SetZNumberOfStripsReadouts(double d)
Definition: RPC_Technology.h:168
MuonGM::RPC::zNumberOfStripsReadouts
double zNumberOfStripsReadouts
Definition: RPC_Technology.h:111
MuonGM::RPC::internalMidchamberDeadRegion
double internalMidchamberDeadRegion
Definition: RPC_Technology.h:97
MuonGM::RPC::stripPitchS
double stripPitchS
Definition: RPC_Technology.h:64
MuonGM::RPC::GetSGasGapsNumber
double GetSGasGapsNumber() const
Definition: RPC_Technology.h:141
MuonGM::MYSQL
Definition: MYSQL.h:43
MuonGM::RPC::NGasGaps_in_s
int NGasGaps_in_s
Definition: RPC_Technology.h:43
MuonGM::Technology
Definition: Technology.h:15
MuonGM::RPC::NGasGaps_in_z
int NGasGaps_in_z
Definition: RPC_Technology.h:44
MuonGM::RPC::GetDeadSeparation
double GetDeadSeparation() const
Definition: RPC_Technology.h:124
MuonGM::RPC::bakeliteThickness
double bakeliteThickness
Definition: RPC_Technology.h:46
MuonGM::RPC::GetPitchs
double GetPitchs() const
Definition: RPC_Technology.h:122
MuonGM::RPC::GetSpacerDiameter
double GetSpacerDiameter() const
Definition: RPC_Technology.h:134
MuonGM::RPC::GetSpacerPitch
double GetSpacerPitch() const
Definition: RPC_Technology.h:135
MuonGM::RPC::firstStripsOffset
double firstStripsOffset
Definition: RPC_Technology.h:98
MuonGM::RPC::GasGapThickness
double GasGapThickness
Definition: RPC_Technology.h:45
MuonGM::RPC::SetCentralalThickness
void SetCentralalThickness(double d)
Definition: RPC_Technology.h:144
MuonGM::RPC::GetRPCLayerThickness
double GetRPCLayerThickness() const
Definition: RPC_Technology.h:118
MuonGM::RPC::SetSStripsOffset
void SetSStripsOffset(double d)
Definition: RPC_Technology.h:164
MuonGM::RPC::backendBoardWidth
double backendBoardWidth
Definition: RPC_Technology.h:73
MuonGM::RPC::SetStripsThickness
void SetStripsThickness(double d)
Definition: RPC_Technology.h:157
MuonGM::RPC::MidChamberDeadRegion_in_s
double MidChamberDeadRegion_in_s
Definition: RPC_Technology.h:62
MuonGM::RPC::SetGazGapThickness
void SetGazGapThickness(double d)
Definition: RPC_Technology.h:153
MuonGM::RPC::GetPetLowerThickness
double GetPetLowerThickness() const
Definition: RPC_Technology.h:131
MuonGM::RPC::sInternalMidchamberDeadRegion
double sInternalMidchamberDeadRegion
Definition: RPC_Technology.h:105
MuonGM::RPC::stripPanelGroundSidePetThickness
double stripPanelGroundSidePetThickness
Definition: RPC_Technology.h:71
MuonGM::RPC::GetStripsThickness
double GetStripsThickness() const
Definition: RPC_Technology.h:129
MuonGM::RPC::gazGapThickness
double gazGapThickness
Definition: RPC_Technology.h:94
MuonGM::RPC::alThickness
double alThickness
Definition: RPC_Technology.h:83
MuonGM::RPC::lowerSupPanelThickness
double lowerSupPanelThickness
Definition: RPC_Technology.h:23
MuonGM::RPC::zSecondStripsOffset
double zSecondStripsOffset
Definition: RPC_Technology.h:109
MuonGM::RPC::GetStripsSupportThickness
double GetStripsSupportThickness() const
Definition: RPC_Technology.h:128
MuonGM::RPC::SetSInternalMidchamberDeadRegion
void SetSInternalMidchamberDeadRegion(double d)
Definition: RPC_Technology.h:160
MuonGM::RPC::centralSupPanelThickness
double centralSupPanelThickness
Definition: RPC_Technology.h:28
MuonGM::RPC::secondStripsOffset
double secondStripsOffset
Definition: RPC_Technology.h:99
MuonGM::RPC::GetZInternalMidchamberDeadRegion
double GetZInternalMidchamberDeadRegion() const
Definition: RPC_Technology.h:133
MuonGM::RPC::SetFoamSpacerThickness
void SetFoamSpacerThickness(double d)
Definition: RPC_Technology.h:146
MuonGM::RPC::xx
double xx
Definition: RPC_Technology.h:87
MuonGM::RPC::GetSStripsOffset
double GetSStripsOffset() const
Definition: RPC_Technology.h:136
MuonGM::RPC::upperHoneycombLayerThickness
double upperHoneycombLayerThickness
Definition: RPC_Technology.h:82
MuonGM::RPC::SetZSecondStripsOffset
void SetZSecondStripsOffset(double d)
Definition: RPC_Technology.h:166
MuonGM::RPC::TotalThickness
double TotalThickness
Definition: RPC_Technology.h:39
MuonGM::RPC::sStripsOffset
double sStripsOffset
Definition: RPC_Technology.h:107
MuonGM::RPC::pitchz
double pitchz
Definition: RPC_Technology.h:92
MuonGM::RPC::gasThickness
double gasThickness
Definition: RPC_Technology.h:49
MuonGM::RPC::maxThickness
double maxThickness
Definition: RPC_Technology.h:75
MuonGM::RPC::petLowerThickness
double petLowerThickness
Definition: RPC_Technology.h:104
MuonGM::RPC::deadSeparation
double deadSeparation
Definition: RPC_Technology.h:93
MuonGM::RPC::SetPitchs
void SetPitchs(double d)
Definition: RPC_Technology.h:149
MuonGM::RPC::upperSupPanelThickness
double upperSupPanelThickness
Definition: RPC_Technology.h:25
MuonGM::RPC::centralalThickness
double centralalThickness
Definition: RPC_Technology.h:102
MuonGM::RPC::supportThickness
double supportThickness
Definition: RPC_Technology.h:79
MuonGM::RPC::stripPitchZ
double stripPitchZ
Definition: RPC_Technology.h:65
MuonGM::RPC::GetBakeliteThickness
double GetBakeliteThickness() const
Definition: RPC_Technology.h:125
MuonGM::RPC::zFirstStripsOffset
double zFirstStripsOffset
Definition: RPC_Technology.h:108
MuonGM::RPC::SetAlThickness
void SetAlThickness(double d)
Definition: RPC_Technology.h:148
MuonGM::RPC::externalSupPanelThickness
double externalSupPanelThickness
Definition: RPC_Technology.h:19
MuonGM::RPC::GetAlThickness
double GetAlThickness() const
Definition: RPC_Technology.h:121
MuonGM::RPC::SetRPCLayerThickness
void SetRPCLayerThickness(double d)
Definition: RPC_Technology.h:145
MuonGM::RPC::lowerHoneycombLayerThickness
double lowerHoneycombLayerThickness
Definition: RPC_Technology.h:88
MuonGM::RPC::GetGazGapThickness
double GetGazGapThickness() const
Definition: RPC_Technology.h:126
MuonGM::RPC::pitchs
double pitchs
Definition: RPC_Technology.h:91
MuonGM::RPC::rpcLayerThickness
double rpcLayerThickness
Definition: RPC_Technology.h:34
MuonGM::RPC::stripPanelThickness
double stripPanelThickness
Definition: RPC_Technology.h:67
MuonGM::RPC::SetStripsSupportThickness
void SetStripsSupportThickness(double d)
Definition: RPC_Technology.h:156
MuonGM::RPC::GetZFirstStripsOffset
double GetZFirstStripsOffset() const
Definition: RPC_Technology.h:137
MuonGM::RPC
Definition: RPC_Technology.h:14
MuonGM::RPC::SetSpacerDiameter
void SetSpacerDiameter(double d)
Definition: RPC_Technology.h:162
MuonGM::RPC::sNumberOfStripsReadouts
double sNumberOfStripsReadouts
Definition: RPC_Technology.h:110
MuonGM::RPC::SetZInternalMidchamberDeadRegion
void SetZInternalMidchamberDeadRegion(double d)
Definition: RPC_Technology.h:161
MuonGM::RPC::petUpperThickness
double petUpperThickness
Definition: RPC_Technology.h:103
MuonGM::RPC::SetPetUpperThickness
void SetPetUpperThickness(double d)
Definition: RPC_Technology.h:158
MuonGM::RPC::zInternalMidchamberDeadRegion
double zInternalMidchamberDeadRegion
Definition: RPC_Technology.h:106
MuonGM::RPC::upperAlSupPanelThickness
double upperAlSupPanelThickness
Definition: RPC_Technology.h:26
MuonGM::RPC::NstripPanels_in_s
int NstripPanels_in_s
Definition: RPC_Technology.h:60
MuonGM::RPC::RPCLayerThickness
double RPCLayerThickness
Definition: RPC_Technology.h:85
MuonGM::RPC::GetSInternalMidchamberDeadRegion
double GetSInternalMidchamberDeadRegion() const
Definition: RPC_Technology.h:132
MuonGM::RPC::stripPanelCopperSkinThickness
double stripPanelCopperSkinThickness
Definition: RPC_Technology.h:69
MuonGM::RPC::GetUpperHoneycombLayerThickness
double GetUpperHoneycombLayerThickness() const
Definition: RPC_Technology.h:120
MuonGM::RPC::foamSpacerThickness
double foamSpacerThickness
Definition: RPC_Technology.h:86
MuonGM::RPC::MidChamberDeadRegion_in_z
double MidChamberDeadRegion_in_z
Definition: RPC_Technology.h:63
MuonGM::RPC::stripsThickness
double stripsThickness
Definition: RPC_Technology.h:96
MuonGM::RPC::SetAirThickness
void SetAirThickness(double d)
Definition: RPC_Technology.h:155
MuonGM::RPC::SetSpacerPitch
void SetSpacerPitch(double d)
Definition: RPC_Technology.h:163
MuonGM::RPC::numberOfStripsReadouts
double numberOfStripsReadouts
Definition: RPC_Technology.h:100
MuonGM::RPC::stripSeparation
double stripSeparation
Definition: RPC_Technology.h:66
MuonGM::RPC::SetUpperHoneycombLayerThickness
void SetUpperHoneycombLayerThickness(double d)
Definition: RPC_Technology.h:147
Technology.h
MuonGM::RPC::supportThicknessWidth
double supportThicknessWidth
Definition: RPC_Technology.h:80
MuonGM::RPC::SetDeadSeparation
void SetDeadSeparation(double d)
Definition: RPC_Technology.h:151
MuonGM::RPC::GetFoamSpacerThickness
double GetFoamSpacerThickness() const
Definition: RPC_Technology.h:119
MuonGM::RPC::centralAlSupPanelThickness
double centralAlSupPanelThickness
Definition: RPC_Technology.h:29
MuonGM::RPC::SetPetLowerThickness
void SetPetLowerThickness(double d)
Definition: RPC_Technology.h:159
MuonGM::RPC::GetCentralalThickness
double GetCentralalThickness() const
Definition: RPC_Technology.h:117