CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Cgem/CgemGeomSvc/CgemGeomSvc-00-00-31-p01/CgemGeomSvc/CgemGeoLayer.h
Go to the documentation of this file.
1#ifndef CGEMGEOLAYER_H
2#define CGEMGEOLAYER_H
3
4#include "CgemGeomSvc/CgemGeoFoil.h"
5
6using namespace std;
7
9
10public:
13
14 /* basic parameters */
15 void setIDOfCgemLayer(int id) { m_ID_CgemLayer = id; }
16 void setLengthOfCgemLayer(double length) { m_L_CgemLayer = length; }
17 void setInnerROfCgemLayer(double innerR) { m_R_i_CgemLayer = innerR; }
18 void setOuterROfCgemLayer(double outerR) { m_R_o_CgemLayer = outerR; }
19
20 int getIDOfCgemLayer() const { return m_ID_CgemLayer; }
21 double getLengthOfCgemLayer() const { return m_L_CgemLayer; }
22 double getInnerROfCgemLayer() const { return m_R_i_CgemLayer; }
23 double getOuterROfCgemLayer() const { return m_R_o_CgemLayer; }
24
25 void setOrientation(bool o) { m_Orientation = o; }
26 bool getOrientation() const { return m_Orientation; }
27
28
29 /* for Cathode */
30 void setInnerROfCathode(double r) { m_R_i_Cathode = r; }
31 void setOuterROfCathode(double r) { m_R_o_Cathode = r; }
32 void setInnerROfCathodeKapton1(double r) { m_R_i_Cathode_Kapton1 = r; }
33 void setOuterROfCathodeKapton1(double r) { m_R_o_Cathode_Kapton1 = r; }
34 void setInnerROfCathodeEpoxy1(double r) { m_R_i_Cathode_Epoxy1 = r; }
35 void setOuterROfCathodeEpoxy1(double r) { m_R_o_Cathode_Epoxy1 = r; }
36 void setInnerROfCathodeRohacell1(double r) { m_R_i_Cathode_Rohacell1 = r; }
37 void setOuterROfCathodeRohacell1(double r) { m_R_o_Cathode_Rohacell1 = r; }
38 void setInnerROfCathodeEpoxy2(double r) { m_R_i_Cathode_Epoxy2 = r; }
39 void setOuterROfCathodeEpoxy2(double r) { m_R_o_Cathode_Epoxy2 = r; }
40 void setInnerROfCathodeKapton2(double r) { m_R_i_Cathode_Kapton2 = r; }
41 void setOuterROfCathodeKapton2(double r) { m_R_o_Cathode_Kapton2 = r; }
42 void setInnerROfCathodeEpoxy3(double r) { m_R_i_Cathode_Epoxy3 = r; }
43 void setOuterROfCathodeEpoxy3(double r) { m_R_o_Cathode_Epoxy3 = r; }
44 void setInnerROfCathodeRohacell2(double r) { m_R_i_Cathode_Rohacell2 = r; }
45 void setOuterROfCathodeRohacell2(double r) { m_R_o_Cathode_Rohacell2 = r; }
46 void setInnerROfCathodeEpoxy4(double r) { m_R_i_Cathode_Epoxy4 = r; }
47 void setOuterROfCathodeEpoxy4(double r) { m_R_o_Cathode_Epoxy4 = r; }
48 void setInnerROfCathodeKapton3(double r) { m_R_i_Cathode_Kapton3 = r; }
49 void setOuterROfCathodeKapton3(double r) { m_R_o_Cathode_Kapton3 = r; }
50 void setInnerROfCathodeCu(double r) { m_R_i_Cathode_Cu = r; }
51 void setOuterROfCathodeCu(double r) { m_R_o_Cathode_Cu = r; }
52
53 double getInnerROfCathode() const { return m_R_i_Cathode; }
54 double getOuterROfCathode() const { return m_R_o_Cathode; }
55 double getInnerROfCathodeKapton1() const { return m_R_i_Cathode_Kapton1; }
56 double getOuterROfCathodeKapton1() const { return m_R_o_Cathode_Kapton1; }
57 double getInnerROfCathodeEpoxy1() const { return m_R_i_Cathode_Epoxy1; }
58 double getOuterROfCathodeEpoxy1() const { return m_R_o_Cathode_Epoxy1; }
59 double getInnerROfCathodeRohacell1() const { return m_R_i_Cathode_Rohacell1; }
60 double getOuterROfCathodeRohacell1() const { return m_R_o_Cathode_Rohacell1; }
61 double getInnerROfCathodeEpoxy2() const { return m_R_i_Cathode_Epoxy2; }
62 double getOuterROfCathodeEpoxy2() const { return m_R_o_Cathode_Epoxy2; }
63 double getInnerROfCathodeKapton2() const { return m_R_i_Cathode_Kapton2; }
64 double getOuterROfCathodeKapton2() const { return m_R_o_Cathode_Kapton2; }
65 double getInnerROfCathodeEpoxy3() const { return m_R_i_Cathode_Epoxy3; }
66 double getOuterROfCathodeEpoxy3() const { return m_R_o_Cathode_Epoxy3; }
67 double getInnerROfCathodeRohacell2() const { return m_R_i_Cathode_Rohacell2; }
68 double getOuterROfCathodeRohacell2() const { return m_R_o_Cathode_Rohacell2; }
69 double getInnerROfCathodeEpoxy4() const { return m_R_i_Cathode_Epoxy4; }
70 double getOuterROfCathodeEpoxy4() const { return m_R_o_Cathode_Epoxy4; }
71 double getInnerROfCathodeKapton3() const { return m_R_i_Cathode_Kapton3; }
72 double getOuterROfCathodeKapton3() const { return m_R_o_Cathode_Kapton3; }
73 double getInnerROfCathodeCu() const { return m_R_i_Cathode_Cu; }
74 double getOuterROfCathodeCu() const { return m_R_o_Cathode_Cu; }
75
76 /* for Gap */
77 void setInnerROfGapD(double r) { m_R_i_Gap_D = r; }
78 void setOuterROfGapD(double r) { m_R_o_Gap_D = r; }
79 void setInnerROfGapT1(double r) { m_R_i_Gap_T1 = r; }
80 void setOuterROfGapT1(double r) { m_R_o_Gap_T1 = r; }
81 void setInnerROfGapT2(double r) { m_R_i_Gap_T2 = r; }
82 void setOuterROfGapT2(double r) { m_R_o_Gap_T2 = r; }
83 void setInnerROfGapI(double r) { m_R_i_Gap_I = r; }
84 void setOuterROfGapI(double r) { m_R_o_Gap_I = r; }
85
86 double getInnerROfGapD() const { return m_R_i_Gap_D; }
87 double getOuterROfGapD() const { return m_R_o_Gap_D; }
88 double getMiddleROfGapD() const { return 0.5*(m_R_o_Gap_D+m_R_i_Gap_D); }
89 double getInnerROfGapT1() const { return m_R_i_Gap_T1; }
90 double getOuterROfGapT1() const { return m_R_o_Gap_T1; }
91 double getInnerROfGapT2() const { return m_R_i_Gap_T2; }
92 double getOuterROfGapT2() const { return m_R_o_Gap_T2; }
93 double getInnerROfGapI() const { return m_R_i_Gap_I; }
94 double getOuterROfGapI() const { return m_R_o_Gap_I; }
95
96 /* for CgemFoil */
97 void setCgemFoil(int i, CgemGeoFoil* pFoil) { m_GemFoil[i] = pFoil; }
98 CgemGeoFoil* getCgemFoil(int i) const { return m_GemFoil[i] ; }
99
100 /* for Anode */
101 void setInnerROfAnode(double r) { m_R_i_Anode = r; }
102 void setOuterROfAnode(double r) { m_R_o_Anode = r; }
103 void setInnerROfAnodeCu1(double r) { m_R_i_Anode_Cu1 = r; }
104 void setOuterROfAnodeCu1(double r) { m_R_o_Anode_Cu1 = r; }
105 void setInnerROfAnodeKapton1(double r) { m_R_i_Anode_Kapton1 = r; }
106 void setOuterROfAnodeKapton1(double r) { m_R_o_Anode_Kapton1 = r; }
107 void setInnerROfAnodeCu2(double r) { m_R_i_Anode_Cu2 = r; }
108 void setOuterROfAnodeCu2(double r) { m_R_o_Anode_Cu2 = r; }
109 void setInnerROfAnodeEpoxy1(double r) { m_R_i_Anode_Epoxy1 = r; }
110 void setOuterROfAnodeEpoxy1(double r) { m_R_o_Anode_Epoxy1 = r; }
111 void setInnerROfAnodeKapton2(double r) { m_R_i_Anode_Kapton2 = r; }
112 void setOuterROfAnodeKapton2(double r) { m_R_o_Anode_Kapton2 = r; }
113 void setInnerROfAnodeEpoxy2(double r) { m_R_i_Anode_Epoxy2 = r; }
114 void setOuterROfAnodeEpoxy2(double r) { m_R_o_Anode_Epoxy2 = r; }
115 void setInnerROfAnodeRohacell1(double r){ m_R_i_Anode_Rohacell1 = r; }
116 void setOuterROfAnodeRohacell1(double r){ m_R_o_Anode_Rohacell1 = r; }
117 void setInnerROfAnodeEpoxy3(double r) { m_R_i_Anode_Epoxy3 = r; }
118 void setOuterROfAnodeEpoxy3(double r) { m_R_o_Anode_Epoxy3 = r; }
119 void setInnerROfAnodeKapton3(double r) { m_R_i_Anode_Kapton3 = r; }
120 void setOuterROfAnodeKapton3(double r) { m_R_o_Anode_Kapton3 = r; }
121 void setInnerROfAnodeEpoxy4(double r) { m_R_i_Anode_Epoxy4 = r; }
122 void setOuterROfAnodeEpoxy4(double r) { m_R_o_Anode_Epoxy4 = r; }
123 void setInnerROfAnodeRohacell2(double r){ m_R_i_Anode_Rohacell2 = r; }
124 void setOuterROfAnodeRohacell2(double r){ m_R_o_Anode_Rohacell2 = r; }
125 void setInnerROfAnodeEpoxy5(double r) { m_R_i_Anode_Epoxy5 = r; }
126 void setOuterROfAnodeEpoxy5(double r) { m_R_o_Anode_Epoxy5 = r; }
127 void setInnerROfAnodeCu3(double r) { m_R_i_Anode_Cu3 = r; }
128 void setOuterROfAnodeCu3(double r) { m_R_o_Anode_Cu3 = r; }
129 void setInnerROfAnodeKapton4(double r) { m_R_i_Anode_Kapton4 = r; }
130 void setOuterROfAnodeKapton4(double r) { m_R_o_Anode_Kapton4 = r; }
131
132 double getInnerROfAnode() const { return m_R_i_Anode; }
133 double getOuterROfAnode() const { return m_R_o_Anode; }
134 double getInnerROfAnodeCu1() const { return m_R_i_Anode_Cu1; }
135 double getOuterROfAnodeCu1() const { return m_R_o_Anode_Cu1; }
136 double getInnerROfAnodeKapton1() const { return m_R_i_Anode_Kapton1; }
137 double getOuterROfAnodeKapton1() const { return m_R_o_Anode_Kapton1; }
138 double getInnerROfAnodeCu2() const { return m_R_i_Anode_Cu2; }
139 double getOuterROfAnodeCu2() const { return m_R_o_Anode_Cu2; }
140 double getInnerROfAnodeEpoxy1() const { return m_R_i_Anode_Epoxy1; }
141 double getOuterROfAnodeEpoxy1() const { return m_R_o_Anode_Epoxy1; }
142 double getInnerROfAnodeKapton2() const { return m_R_i_Anode_Kapton2; }
143 double getOuterROfAnodeKapton2() const { return m_R_o_Anode_Kapton2; }
144 double getInnerROfAnodeEpoxy2() const { return m_R_i_Anode_Epoxy2; }
145 double getOuterROfAnodeEpoxy2() const { return m_R_o_Anode_Epoxy2; }
146 double getInnerROfAnodeRohacell1() const { return m_R_i_Anode_Rohacell1; }
147 double getOuterROfAnodeRohacell1() const { return m_R_o_Anode_Rohacell1; }
148 double getInnerROfAnodeEpoxy3() const { return m_R_i_Anode_Epoxy3; }
149 double getOuterROfAnodeEpoxy3() const { return m_R_o_Anode_Epoxy3; }
150 double getInnerROfAnodeKapton3() const { return m_R_i_Anode_Kapton3; }
151 double getOuterROfAnodeKapton3() const { return m_R_o_Anode_Kapton3; }
152 double getInnerROfAnodeEpoxy4() const { return m_R_i_Anode_Epoxy4; }
153 double getOuterROfAnodeEpoxy4() const { return m_R_o_Anode_Epoxy4; }
154 double getInnerROfAnodeRohacell2() const { return m_R_i_Anode_Rohacell2; }
155 double getOuterROfAnodeRohacell2() const { return m_R_o_Anode_Rohacell2; }
156 double getInnerROfAnodeEpoxy5() const { return m_R_i_Anode_Epoxy5; }
157 double getOuterROfAnodeEpoxy5() const { return m_R_o_Anode_Epoxy5; }
158 double getInnerROfAnodeCu3() const { return m_R_i_Anode_Cu3; }
159 double getOuterROfAnodeCu3() const { return m_R_o_Anode_Cu3; }
160 double getInnerROfAnodeKapton4() const { return m_R_i_Anode_Kapton4; }
161 double getOuterROfAnodeKapton4() const { return m_R_o_Anode_Kapton4; }
162
163 /* Information of ReadoutStrip */
164 void setNumberOfSheet(int n) { m_N_Sheet = n; }
165 void setNumberOfChannelX(int n) { m_N_Channel_X = n; }
166 void setNumberOfChannelV(int n) { m_N_Channel_V = n; }
167 void setAngleOfStereo(double a) { m_A_Stereo = a; }
168 void setWidthOfSheet(double w) { m_W_Sheet = w; }
169 void setWidthOfPitchX(double w) { m_W_Pitch_X = w; }
170 void setWidthOfPitchV(double w) { m_W_Pitch_V = w; }
171 void setWidthOfStripX(double w) { m_W_Strip_X = w; }
172 void setWidthOfStripV(double w) { m_W_Strip_V = w; }
173
174 int getNumberOfSheet() const { return m_N_Sheet; }
175 int getNumberOfChannelX() const { return m_N_Channel_X; }
176 int getNumberOfChannelV() const { return m_N_Channel_V; }
177 double getAngleOfStereo() const { return m_A_Stereo; }
178 double getWidthOfSheet() const { return m_W_Sheet; }
179 double getWidthOfPitchX() const { return m_W_Pitch_X; }
180 double getWidthOfPitchV() const { return m_W_Pitch_V; }
181 double getWidthOfStripX() const { return m_W_Strip_X; }
182 double getWidthOfStripV() const { return m_W_Strip_V; }
183
184 void print();
185
186private:
187 /* Orientation (in-to-out);
188 0 = cathode-gem-anode
189 1 = anode-gem-cathode */
190 bool m_Orientation;
191
192 /* Information of CgemLayer */
193 int m_ID_CgemLayer;
194 double m_R_i_CgemLayer, m_R_o_CgemLayer;
195 double m_L_CgemLayer;
196
197 /* Information of Cathode */
198 double m_R_i_Cathode , m_R_o_Cathode ;
199 double m_R_i_Cathode_Kapton1 , m_R_o_Cathode_Kapton1 ;
200 double m_R_i_Cathode_Epoxy1 , m_R_o_Cathode_Epoxy1 ;
201 double m_R_i_Cathode_Rohacell1 , m_R_o_Cathode_Rohacell1 ;
202 double m_R_i_Cathode_Epoxy2 , m_R_o_Cathode_Epoxy2 ;
203 double m_R_i_Cathode_Kapton3 , m_R_o_Cathode_Kapton3 ;
204 double m_R_i_Cathode_Epoxy3 , m_R_o_Cathode_Epoxy3 ;
205 double m_R_i_Cathode_Rohacell2 , m_R_o_Cathode_Rohacell2 ;
206 double m_R_i_Cathode_Epoxy4 , m_R_o_Cathode_Epoxy4 ;
207 double m_R_i_Cathode_Kapton2 , m_R_o_Cathode_Kapton2 ;
208 double m_R_i_Cathode_Cu , m_R_o_Cathode_Cu ;
209
210 /* Information of Gap */
211 double m_R_i_Gap_D , m_R_o_Gap_D ;
212 double m_R_i_Gap_T1 , m_R_o_Gap_T1 ;
213 double m_R_i_Gap_T2 , m_R_o_Gap_T2 ;
214 double m_R_i_Gap_I , m_R_o_Gap_I ;
215
216 /* Information of GemFoil */
217 CgemGeoFoil* m_GemFoil[3];
218
219 /* Information of Anode */
220 double m_R_i_Anode , m_R_o_Anode ;
221 double m_R_i_Anode_Cu1 , m_R_o_Anode_Cu1 ;
222 double m_R_i_Anode_Kapton1 , m_R_o_Anode_Kapton1 ;
223 double m_R_i_Anode_Cu2 , m_R_o_Anode_Cu2 ;
224 double m_R_i_Anode_Epoxy1 , m_R_o_Anode_Epoxy1 ;
225 double m_R_i_Anode_Kapton2 , m_R_o_Anode_Kapton2 ;
226 double m_R_i_Anode_Epoxy2 , m_R_o_Anode_Epoxy2 ;
227 double m_R_i_Anode_Rohacell1, m_R_o_Anode_Rohacell1;
228 double m_R_i_Anode_Epoxy3 , m_R_o_Anode_Epoxy3 ;
229 double m_R_i_Anode_Kapton3 , m_R_o_Anode_Kapton3 ;
230 double m_R_i_Anode_Epoxy4 , m_R_o_Anode_Epoxy4 ;
231 double m_R_i_Anode_Rohacell2, m_R_o_Anode_Rohacell2;
232 double m_R_i_Anode_Epoxy5 , m_R_o_Anode_Epoxy5 ;
233 double m_R_i_Anode_Cu3 , m_R_o_Anode_Cu3 ;
234 double m_R_i_Anode_Kapton4 , m_R_o_Anode_Kapton4 ;
235
236 /* Information of ReadoutStrip */
237 int m_N_Sheet;
238 double m_W_Sheet;
239 double m_A_Stereo;
240 double m_W_Pitch_X;
241 double m_W_Pitch_V;
242 double m_W_Strip_X;
243 double m_W_Strip_V;
244 int m_N_Channel_X;
245 int m_N_Channel_V;
246
247};
248
249#endif /* CGEMGEOLAYER_H */
const Int_t n