ATLAS Offline Software
Loading...
Searching...
No Matches
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
11namespace 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
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
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.};
101
107 double sStripsOffset{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; }
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; }
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
Definition MYSQL.h:43
double firstStripsOffset
double lowerAlSupPanelThickness
double GetSNumberOfStripsReadouts() const
double GetRPCLayerThickness() const
double GetCentralalThickness() const
double sInternalMidchamberDeadRegion
double spacerDiameter
double maxThickness
double totalThickness
double GetZInternalMidchamberDeadRegion() const
double bakeliteThickness
void SetStripsSupportThickness(double d)
double foamSpacerThickness
void SetPitchz(double d)
double deadSeparation
void SetPetUpperThickness(double d)
double GasGapThickness
double GetBakeliteThickness() const
double frontendBoardWidth
double GetPetUpperThickness() const
double GetSGasGapsNumber() const
double GetSpacerDiameter() const
double gasThickness
double upperSupPanelThickness
double stripPitchZ
void SetSGasGapsNumber(double d)
double GetPitchs() const
double internalMidchamberDeadRegion
double MidChamberDeadRegion_in_z
double lowerHoneycombLayerThickness
void SetAirThickness(double d)
double centralalThickness
void SetSpacerDiameter(double d)
double GetPitchz() const
double lowerSupPanelThickness
double GetDeadSeparation() const
double bakeliteframesize
double GetZFirstStripsOffset() const
double zInternalMidchamberDeadRegion
double GetPetLowerThickness() const
double GetSpacerPitch() const
void SetZFirstStripsOffset(double d)
double stripPanelFoamThickness
double stripPanelCopperSkinThickness
double secondStripsOffset
void SetDeadSeparation(double d)
double GetStripsSupportThickness() const
double zFirstStripsOffset
double GetStripsThickness() const
double TotalThickness
double GetZNumberOfStripsReadouts() const
double totalAirThickness
void SetSInternalMidchamberDeadRegion(double d)
double stripPanelStripSidePetThickness
double spacerPitch
double GetZSecondStripsOffset() const
double GetAirThickness() const
double GetAlThickness() const
void SetZNumberOfStripsReadouts(double d)
void SetSNumberOfStripsReadouts(double d)
double upperHoneycombLayerThickness
double stripsThickness
double petLowerThickness
void SetPitchs(double d)
double centralAlSupPanelThickness
double stripPanelThickness
void SetBakeliteThickness(double d)
double stripSeparation
double zSecondStripsOffset
double stripPanelGroundSidePetThickness
double numberOfStripsReadouts
double GetSStripsOffset() const
void SetGazGapThickness(double d)
double gazGapThickness
double supportThicknessWidth
double externalAlSupPanelThickness
double centralSupPanelThickness
void SetPetLowerThickness(double d)
double GetUpperHoneycombLayerThickness() const
void SetZInternalMidchamberDeadRegion(double d)
RPC(MYSQL &mysql, const std::string &s)
double GetGazGapThickness() const
void SetAlThickness(double d)
double sStripsOffset
void SetSStripsOffset(double d)
double backendBoardWidth
void SetSpacerPitch(double d)
double sGasGapsNumber
double GetFoamSpacerThickness() const
double RPCLayerThickness
double externalSupPanelThickness
double stripsSupportThickness
double petUpperThickness
double petFoilThickness
double bakelitePetThickness
void SetZSecondStripsOffset(double d)
double alThickness
void SetUpperHoneycombLayerThickness(double d)
double zNumberOfStripsReadouts
double upperAlSupPanelThickness
double GetSInternalMidchamberDeadRegion() const
void SetStripsThickness(double d)
void SetFoamSpacerThickness(double d)
double supportThickness
double MidChamberDeadRegion_in_s
double stripPitchS
void SetRPCLayerThickness(double d)
double rpcLayerThickness
double sNumberOfStripsReadouts
void SetCentralalThickness(double d)
Technology(MYSQL &mysql, std::string s)
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27