#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}
MucEntity(int part, int segment, int layer)
◆ 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 43 of file MucGas.cxx.
44{
50
57
60
64}
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) return *this;
35
36 return *this;
37}
MucEntity & operator=(const MucEntity &other)
◆ SetBarrelRpcInBes()
int MucGas::SetBarrelRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 355 of file MucGas.cxx.
356{
357 if(
m_Part != BRID )
return 0;
358
361
363 {
364
365 double r;
366 r = (B_AS_RMIN[
m_Layer] - AS_GAP/2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
369
370
372 {
374 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTN/2.0;
375 else
376 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTS/2.0;
377 }
380 else
381 z = -B_BOX_LT/2.0 + B_BOX_DZ[
m_UpDown] + (1+2*(3-
m_RpcId))*B_RPC_LTN/2.0;
382
383 }
384 else
385 {
386
389 else
391
392
393 y = (B_AS_RMIN[
m_Layer] - AS_GAP / 2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
394
395
404 else
405 z = -B_BOX_LT/2.0 - B_BOX_DZ[
m_UpDown] + (1+2*(4-
m_RpcId))*B_RPC_LTN/2.0;
406 }
407
411
412
413 for( int i=0; i<2; i++ )
415
416 return 0;
417}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by Init(), and SetLocOrgInBes().
◆ SetEndcapRpcInBes()
int MucGas::SetEndcapRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 419 of file MucGas.cxx.
420{
421 if(
m_Part == BRID )
return 0;
422
425
426
428 {
430 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
432 }
436 }
437 else {
439 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
440 }
441 }
442 else
443 {
445 {
446 case 0:
447 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
449 break;
450 case 1:
452 x += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
454 y += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
455 break;
456 case 2:
459 break;
460 case 3:
462 x += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
464 y += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
465 break;
466 case 4:
468 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
469 }
470 }
471
472
477
478
479 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
481 z += ( (E_AS_ZMAX - E_AS_TOTAL_TH) + AS_GAP/2.0 );
482 z += (1-2*
m_UpDown) * ( STR_TH + RPC_TH ) / 2.0;
484
488
489
490 for( int i=0; i<2; i++ )
492
493 return 0;
494}
Referenced by Init(), and SetLocOrgInBes().
◆ SetH()
Reimplemented from MucEntity.
Definition at line 194 of file MucGas.cxx.
195{
198 else
199 {
201
202
204 m_H -= RPC_DEATH_EDGE * (1 + 1.0/VALUE);
205 else
206 m_H -= RPC_DEATH_EDGE * 2.0;
207 }
208}
Referenced by Init().
◆ SetL()
Reimplemented from MucEntity.
Definition at line 210 of file MucGas.cxx.
211{
213 {
215 {
216
218 {
220 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTN;
221 else
222 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTS;
223 }
224 else
225 {
228 else
230 }
231 }
232 else
233 {
238 else
240 }
241
242 m_L -= RPC_DEATH_EDGE * 2.0;
243
244 }
245 else
247}
Referenced by Init().
◆ SetLocOrgInBes()
void MucGas::SetLocOrgInBes |
( |
| ) |
|
|
protectedvirtual |
◆ SetObjOrgInBes()
void MucGas::SetObjOrgInBes |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 509 of file MucGas.cxx.
510{
512
513 for( int i=0; i<3; i++ )
515}
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
Referenced by Init().
◆ SetObjOrgInLoc()
void MucGas::SetObjOrgInLoc |
( |
| ) |
|
|
protectedvirtual |
◆ SetPhi()
Definition at line 73 of file MucGas.cxx.
74{
76 else m_Phi = 0.;
77}
Referenced by Init().
◆ SetRc()
◆ SetRin()
◆ SetRout()
◆ SetTheta()
void MucGas::SetTheta |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 79 of file MucGas.cxx.
80{
82 else
83 {
85 else
86 {
88 m_Theta = ( MUC_PI/4.0 ) + MUC_PI / 8.0 ;
91 else
92 m_Theta = ( MUC_PI/4.0 ) - MUC_PI / 8.0 ;
93 }
94 }
95}
Referenced by Init().
◆ SetThin()
◆ SetW()
Reimplemented from MucEntity.
Definition at line 124 of file MucGas.cxx.
125{
127 {
129 {
132 else
134 }
135 else
136 {
139 else
141 }
142 }
143 else
144 {
146 {
148 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
151 else
152 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
153 }
154 else
155 {
157 {
158 case 0:
159 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA;
160 break;
161 case 1:
162 case 3:
164 break;
165 case 2:
167 break;
168 case 4:
169 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA;
170 break;
171 default: ;
172 }
173 }
174 }
175
176
177 if(
m_Part == BRID )
m_W -= RPC_DEATH_EDGE * 2.0;
178 else
179 {
181 if(
m_RpcId == 1 )
m_W -= RPC_DEATH_EDGE * 2.0;
182 else m_W -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
183 }
184 else
185 {
187 m_W -= RPC_DEATH_EDGE * 2.0;
188 else
189 m_W -= RPC_DEATH_EDGE;
190 }
191 }
192}
Referenced by Init().
◆ SetWd()
Reimplemented from MucEntity.
Definition at line 303 of file MucGas.cxx.
304{
306 else
307 {
309 {
311 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
314 else
315 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
316 }
317 else
318 {
320 {
321 case 0:
322 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
323 break;
324 case 1:
325 case 3:
327 break;
328 case 2:
330 break;
331 case 4:
332 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
333 break;
334 default: ;
335 }
336 }
337
338
340 {
342 else m_Wd -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
343 }
344 else
345 {
347 m_Wd -= RPC_DEATH_EDGE * 2.0;
348 else
349 m_Wd -= RPC_DEATH_EDGE;
350 }
351 }
352}
Referenced by Init().
◆ SetWu()
Reimplemented from MucEntity.
Definition at line 249 of file MucGas.cxx.
250{
252 else
253 {
255 {
257 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
260 else
261 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
262 }
263 else
264 {
266 {
267 case 0:
268 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
269 break;
270 case 1:
271 case 3:
273 break;
274 case 2:
276 break;
277 case 4:
278 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
279 break;
280 default: ;
281 }
282 }
283
284
286 {
288 {
290 else m_Wu -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
291 }
292 else
293 {
295 m_Wu -= RPC_DEATH_EDGE * 2.0;
296 else
297 m_W -= RPC_DEATH_EDGE;
298 }
299 }
300 }
301}
Referenced by Init().
The documentation for this class was generated from the following files: