#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 |
|
) |
| |
Definition at line 17 of file MucGas.cxx.
18 :
MucEntity( part, segment, layer, upDown, rpcId,
id )
19{
21}
◆ MucGas() [2/2]
MucGas::MucGas |
( |
const MucGas & |
other | ) |
|
Definition at line 24 of file MucGas.cxx.
25{
27}
Index other(Index i, Index j)
◆ ~MucGas()
◆ GetPhi()
double MucGas::GetPhi |
( |
| ) |
|
◆ Init()
Reimplemented from MucEntity.
Definition at line 49 of file MucGas.cxx.
50{
56
63
66
70}
virtual void SetObjOrgInLoc()
virtual void SetObjOrgInBes()
virtual void SetLocOrgInBes()
Referenced by MucGas().
◆ operator=()
Definition at line 30 of file MucGas.cxx.
31{
32 if( this == &other)
33 return *this;
34
36
38
39 return *this;
40}
MucEntity & operator=(const MucEntity &other)
◆ SetBarrelRpcInBes()
int MucGas::SetBarrelRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 382 of file MucGas.cxx.
383{
384 if(
m_Part != BRID )
return 0;
385
388
390 {
391
392 double r;
393 r = (B_AS_RMIN[
m_Layer] - AS_GAP/2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
396
397
399 {
401 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTN/2.0;
402 else
403 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTS/2.0;
404 }
407 else
408 z = -B_BOX_LT/2.0 + B_BOX_DZ[
m_UpDown] + (1+2*(3-
m_RpcId))*B_RPC_LTN/2.0;
409
410 }
411 else
412 {
413
416 else
418
419
420 y = (B_AS_RMIN[
m_Layer] - AS_GAP / 2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
421
422
431 else
432 z = -B_BOX_LT/2.0 - B_BOX_DZ[
m_UpDown] + (1+2*(4-
m_RpcId))*B_RPC_LTN/2.0;
433
434 }
435
439
440
441 for( int i=0; i<2; i++ ) {
443 }
444
445 return 0;
446}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by Init(), and SetLocOrgInBes().
◆ SetEndcapRpcInBes()
int MucGas::SetEndcapRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 448 of file MucGas.cxx.
449{
450 if(
m_Part == BRID )
return 0;
451
454
455
457 {
459 {
460 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
462 }
464 {
467 }
468 else
469 {
471 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
472 }
473 }
474 else
475 {
477 {
478 case 0:
479 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
481 break;
482 case 1:
484 x += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
485
487 y += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
488
489 break;
490 case 2:
493 break;
494 case 3:
496 x += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
497
499 y += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
500
501 break;
502 case 4:
504 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
505 }
506
507 }
508
509
514
515
516
517 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
519 z += ( (E_AS_ZMAX - E_AS_TOTAL_TH) + AS_GAP/2.0 );
520 z += (1-2*
m_UpDown) * ( STR_TH + RPC_TH ) / 2.0;
522
526
527
528 for( int i=0; i<2; i++ ) {
530 }
531
532 return 0;
533}
Referenced by Init(), and SetLocOrgInBes().
◆ SetH()
Reimplemented from MucEntity.
Definition at line 209 of file MucGas.cxx.
210{
213 else
214 {
216
217
219 m_H -= RPC_DEATH_EDGE * (1 + 1.0/VALUE);
220 else
221 m_H -= RPC_DEATH_EDGE * 2.0;
222 }
223}
Referenced by Init().
◆ SetL()
Reimplemented from MucEntity.
Definition at line 225 of file MucGas.cxx.
226{
228 {
230 {
231
233 {
235 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTN;
236 else
237 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTS;
238 }
239 else
240 {
243 else
245 }
246 }
247 else
248 {
250 {
252 }
254 {
256 }
257 else
259
260 }
261
262 m_L -= RPC_DEATH_EDGE * 2.0;
263
264 }
265 else
266 {
268 }
269
270}
Referenced by Init().
◆ SetLocOrgInBes()
void MucGas::SetLocOrgInBes |
( |
| ) |
|
|
protectedvirtual |
◆ SetObjOrgInBes()
void MucGas::SetObjOrgInBes |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 550 of file MucGas.cxx.
551{
553
554
555 for( int i=0; i<3; i++ ) {
557 }
558}
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
Referenced by Init().
◆ SetObjOrgInLoc()
void MucGas::SetObjOrgInLoc |
( |
| ) |
|
|
protectedvirtual |
◆ SetPhi()
Definition at line 79 of file MucGas.cxx.
80{
83 else
84 m_Phi = 0.;
85}
Referenced by Init().
◆ SetRc()
◆ SetRin()
◆ SetRout()
◆ SetTheta()
void MucGas::SetTheta |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 87 of file MucGas.cxx.
88{
91 else
92 {
95 else
96 {
98 m_Theta = ( MUC_PI/4.0 ) + MUC_PI / 8.0 ;
101 else
102 m_Theta = ( MUC_PI/4.0 ) - MUC_PI / 8.0 ;
103 }
104 }
105}
Referenced by Init().
◆ SetThin()
◆ SetW()
Reimplemented from MucEntity.
Definition at line 136 of file MucGas.cxx.
137{
139 {
141 {
144 else
146 }
147 else
148 {
151 else
153
154 }
155 }
156 else
157 {
160 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
163 else
164 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
165 }
166 else
167 {
169 {
170 case 0:
171 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA;
172 break;
173 case 1:
174 case 3:
176 break;
177 case 2:
179 break;
180 case 4:
181 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA;
182 break;
183 default: ;
184 }
185 }
186
187 }
188
189
191 m_W -= RPC_DEATH_EDGE * 2.0;
192 else
193 {
195 {
196 if(
m_RpcId == 1 )
m_W -= RPC_DEATH_EDGE * 2.0;
197 else m_W -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
198 }
199 else
200 {
202 m_W -= RPC_DEATH_EDGE * 2.0;
203 else
204 m_W -= RPC_DEATH_EDGE;
205 }
206 }
207}
Referenced by Init().
◆ SetWd()
Reimplemented from MucEntity.
Definition at line 327 of file MucGas.cxx.
328{
331 else
332 {
334 {
336 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
339 else
340 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
341 }
342 else
343 {
345 {
346 case 0:
347 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
348 break;
349 case 1:
350 case 3:
352 break;
353 case 2:
355 break;
356 case 4:
357 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
358 break;
359 default: ;
360 }
361 }
362
363
365 {
367 else m_Wd -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
368 }
369 else
370 {
372 m_Wd -= RPC_DEATH_EDGE * 2.0;
373 else
374 m_Wd -= RPC_DEATH_EDGE;
375 }
376
377 }
378}
Referenced by Init().
◆ SetWu()
Reimplemented from MucEntity.
Definition at line 272 of file MucGas.cxx.
273{
276 else
277 {
279 {
281 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
284 else
285 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
286 }
287 else
288 {
290 {
291 case 0:
292 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
293 break;
294 case 1:
295 case 3:
297 break;
298 case 2:
300 break;
301 case 4:
302 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
303 break;
304 default: ;
305 }
306 }
307
308
310 {
312 {
314 else m_Wu -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
315 }
316 else
317 {
319 m_Wu -= RPC_DEATH_EDGE * 2.0;
320 else
321 m_W -= RPC_DEATH_EDGE;
322 }
323 }
324 }
325}
Referenced by Init().
The documentation for this class was generated from the following files: