#include <MucGas.h>
|
| | MucGas (int part, int segment, int layer, int upDown, int rpcId, int id) |
| | MucGas (const MucGas &other) |
| MucGas & | operator= (const MucGas &other) |
| | ~MucGas () |
| double | GetPhi () |
| | MucEntity (int part, int segment, int layer) |
| | MucEntity (int part, int segment, int layer, int id) |
| | MucEntity (int part, int segment, int layer, int upDown, int id) |
| | MucEntity (int part, int segment, int layer, int upDown, int rpcId, int id) |
| | MucEntity (const MucEntity &other) |
| MucEntity & | operator= (const MucEntity &other) |
| virtual | ~MucEntity () |
| int | GetPart () |
| int | GetSegment () |
| int | GetLayer () |
| int | GetUpDown () |
| int | GetRpcId () |
| int | GetID () |
| double | GetTheta () |
| double | GetRin () |
| double | GetRout () |
| double | GetRc () |
| double | GetThin () |
| double | GetW () |
| double | GetH () |
| double | GetL () |
| double | GetWu () |
| double | GetWd () |
| double | GetArea () |
| double | GetLocOrgInBes (int i) |
| double | GetObjRotToMot (int i) |
| double | GetObjOrgInBes (int i) |
| double | GetObjOrgInLoc (int i) |
| double * | GetLocOrgInBes () |
| double * | GetObjRotToMot () |
| double * | GetObjOrgInLoc () |
| double * | GetObjOrgInBes () |
| void | TransBesToLoc (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z) |
| void | TransLocToBes (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z) |
Definition at line 18 of file MucGas.h.
◆ MucGas() [1/2]
| MucGas::MucGas |
( |
int | part, |
|
|
int | segment, |
|
|
int | layer, |
|
|
int | upDown, |
|
|
int | rpcId, |
|
|
int | id ) |
◆ MucGas() [2/2]
| MucGas::MucGas |
( |
const MucGas & | other | ) |
|
Definition at line 23 of file MucGas.cxx.
Index other(Index i, Index j)
◆ ~MucGas()
◆ GetPhi()
| double MucGas::GetPhi |
( |
| ) |
|
◆ Init()
Reimplemented from MucEntity.
Definition at line 38 of file MucGas.cxx.
38 {
44
51
54
58}
virtual void SetObjOrgInLoc()
virtual void SetObjOrgInBes()
virtual void SetLocOrgInBes()
Referenced by MucGas().
◆ operator=()
Definition at line 26 of file MucGas.cxx.
26 {
27 if ( this == &other ) return *this;
30
31 return *this;
32}
MucEntity & operator=(const MucEntity &other)
◆ SetBarrelRpcInBes()
| int MucGas::SetBarrelRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 304 of file MucGas.cxx.
304 {
306
309
311 {
312
313 double r;
314 r = ( B_AS_RMIN[
m_Layer] - AS_GAP / 2.0 ) +
315 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
318
319
321 {
323 z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTN / 2.0;
324 else z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTS / 2.0;
325 }
327 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - ( 1 + 2 *
m_RpcId ) * B_RPC_LTN / 2.0;
328 else
329 z = -B_BOX_LT / 2.0 + B_BOX_DZ[
m_UpDown] + ( 1 + 2 * ( 3 -
m_RpcId ) ) * B_RPC_LTN / 2.0;
330
331 }
332 else
333 {
334
337 else
338 x = ( 1 - 2 *
m_RpcId ) * ( ( B_BOX_WT[
m_Layer] + B_BOX_SLOT_WT ) / 4.0 +
340
341
342 y = ( B_AS_RMIN[
m_Layer] - AS_GAP / 2.0 ) +
343 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
344
345
347 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] -
350 z = -B_RPC_LTN - B_TOPRPC_LTS[( (
m_Layer == 0 ) ? 1 : (
m_Layer % 2 ) )];
352 z = B_RPC_LTN - B_TOPRPC_LTS[( (
m_Layer == 0 ) ? 1 : (
m_Layer % 2 ) )];
354 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] -
356 ( 3 - 2 *
m_RpcId ) * B_RPC_LTN / 2.0;
357 else
358 z = -B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] + ( 1 + 2 * ( 4 -
m_RpcId ) ) * B_RPC_LTN / 2.0;
359 }
360
364
365
366 for ( int i = 0; i < 2; i++ )
368
369 return 0;
370}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by Init(), and SetLocOrgInBes().
◆ SetEndcapRpcInBes()
| int MucGas::SetEndcapRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 372 of file MucGas.cxx.
372 {
374
377
378
380 {
382 {
383 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
385 }
387 {
389 y =
m_Rc *
sin( MUC_PI / 4.0 );
390 }
391 else
392 {
394 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
395 }
396 }
397 else
398 {
400 {
401 case 0:
402 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA ) / 2.0 + RPC_DEATH_EDGE / 2.0;
404 break;
405 case 1:
407 x += RPC_DEATH_EDGE * ( 3 - 2 * sqrt( 2.0 ) ) / 4.0;
409 y += RPC_DEATH_EDGE * ( 1 + 4.0 / sqrt( 2.0 ) ) / 4.0;
410 break;
411 case 2:
413 y =
m_Rc *
sin( MUC_PI / 4.0 );
414 break;
415 case 3:
417 x += RPC_DEATH_EDGE * ( 1 + 4.0 / sqrt( 2.0 ) ) / 4.0;
418 y = VALUE *
m_Rc +
sin( MUC_PI / 4.0 ) *
m_Wd / 4.0;
419 y += RPC_DEATH_EDGE * ( 3 - 2 * sqrt( 2.0 ) ) / 4.0;
420 break;
421 case 4:
423 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA ) / 2.0 + RPC_DEATH_EDGE / 2.0;
424 }
425 }
426
427
431 {
433 y = -y;
434 }
435 else { y = -y; }
436
437
438 for (
int i = 0; i <
m_Layer + 1; i++ ) z += E_AS_TH[i];
440 z += ( ( E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP / 2.0 );
441 z += ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
443
447
448
449 for ( int i = 0; i < 2; i++ )
451
452 return 0;
453}
Referenced by Init(), and SetLocOrgInBes().
◆ SetH()
Reimplemented from MucEntity.
Definition at line 170 of file MucGas.cxx.
170 {
172 else
173 {
175
176
178 m_H -= RPC_DEATH_EDGE * ( 1 + 1.0 / VALUE );
179 else m_H -= RPC_DEATH_EDGE * 2.0;
180 }
181}
Referenced by Init().
◆ SetL()
Reimplemented from MucEntity.
Definition at line 183 of file MucGas.cxx.
183 {
185 {
187 {
188
190 {
192 m_L = B_BOX_LT - 2 * B_BOX_DZ[
m_UpDown] - 3 * B_RPC_LTN;
193 else
194 m_L = B_BOX_LT - 2 * B_BOX_DZ[
m_UpDown] - 3 * B_RPC_LTS;
195 }
196 else
197 {
200 else
202 }
203 }
204 else
205 {
211 2 * ( B_BOX_DZ[
m_UpDown] + B_RPC_LTN );
212 else m_L = B_RPC_LTN;
213 }
214
215 m_L -= RPC_DEATH_EDGE * 2.0;
216
217 }
218 else
220}
Referenced by Init().
◆ SetLocOrgInBes()
| void MucGas::SetLocOrgInBes |
( |
| ) |
|
|
protectedvirtual |
◆ SetObjOrgInBes()
| void MucGas::SetObjOrgInBes |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 466 of file MucGas.cxx.
466 {
468
469 for ( int i = 0; i < 3; i++ )
471}
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
Referenced by Init().
◆ SetObjOrgInLoc()
| void MucGas::SetObjOrgInLoc |
( |
| ) |
|
|
protectedvirtual |
◆ SetPhi()
Definition at line 67 of file MucGas.cxx.
67 {
69 else m_Phi = 0.;
70}
Referenced by Init().
◆ SetRc()
◆ SetRin()
Reimplemented from MucEntity.
Definition at line 88 of file MucGas.cxx.
88 {
91 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0 - GAS_TH / 2.0;
92 else
94}
Referenced by Init().
◆ SetRout()
Reimplemented from MucEntity.
Definition at line 96 of file MucGas.cxx.
96 {
99 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0 + GAS_TH / 2.0;
100 else
101 m_Rout = E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer == 0 ) ? 0 : 1] +
103}
Referenced by Init().
◆ SetTheta()
| void MucGas::SetTheta |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 72 of file MucGas.cxx.
72 {
74 else
75 {
77 else
78 {
80 m_Theta = ( MUC_PI / 4.0 ) + MUC_PI / 8.0;
83 else m_Theta = ( MUC_PI / 4.0 ) - MUC_PI / 8.0;
84 }
85 }
86}
Referenced by Init().
◆ SetThin()
◆ SetW()
Reimplemented from MucEntity.
Definition at line 109 of file MucGas.cxx.
109 {
111 {
113 {
114 if ( (
m_Layer + 1 ) % 2 == 1 )
116 B_BOX_SLOT_WT ) /
117 2.0;
118 else
120 }
121 else
122 {
123 if ( (
m_Layer + 1 ) % 2 == 1 )
125 else
127 }
128 }
129 else
130 {
132 {
133 if (
m_RpcId == 0 )
m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
135 else m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
136 }
137 else
138 {
140 {
141 case 0:
m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA;
break;
142 case 1:
144 case 2:
m_W = 2 * VALUE *
m_Rin;
break;
145 case 4:
m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA;
break;
146 default:;
147 }
148 }
149 }
150
151
153 else
154 {
156 {
157 if (
m_RpcId == 1 )
m_W -= RPC_DEATH_EDGE * 2.0;
158 else m_W -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
159 }
160 else
161 {
163 m_W -= RPC_DEATH_EDGE * 2.0;
164 else
165 m_W -= RPC_DEATH_EDGE;
166 }
167 }
168}
Referenced by Init().
◆ SetWd()
Reimplemented from MucEntity.
Definition at line 264 of file MucGas.cxx.
264 {
266 else
267 {
269 {
270 if (
m_RpcId == 0 )
m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
272 else m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
273 }
274 else
275 {
277 {
278 case 0:
m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
break;
279 case 1:
281 case 2:
m_Wd = 2.0 * VALUE *
m_Rin;
break;
282 case 4:
m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
break;
283 default:;
284 }
285 }
286
287
289 {
291 else m_Wd -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
292 }
293 else
294 {
296 m_Wd -= RPC_DEATH_EDGE * 2.0;
297 else
298 m_Wd -= RPC_DEATH_EDGE;
299 }
300 }
301}
Referenced by Init().
◆ SetWu()
Reimplemented from MucEntity.
Definition at line 222 of file MucGas.cxx.
222 {
224 else
225 {
227 {
228 if (
m_RpcId == 0 )
m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
230 else m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
231 }
232 else
233 {
235 {
236 case 0:
m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
break;
237 case 1:
238 case 3:
m_Wu = 0.;
break;
239 case 2:
m_Wu = 2.0 * VALUE *
m_Rin;
break;
240 case 4:
m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
break;
241 default:;
242 }
243 }
244
245
247 {
249 {
251 else m_Wu -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
252 }
253 else
254 {
256 m_Wu -= RPC_DEATH_EDGE * 2.0;
257 else
258 m_W -= RPC_DEATH_EDGE;
259 }
260 }
261 }
262}
Referenced by Init().
The documentation for this class was generated from the following files: