#include <MucBakelite.h>
|
| MucBakelite (int part, int segment, int layer, int upDown, int rpcId, int id) |
|
| MucBakelite (const MucBakelite &other) |
|
MucBakelite & | operator= (const MucBakelite &other) |
|
| ~MucBakelite () |
|
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 MucBakelite.h.
◆ MucBakelite() [1/2]
MucBakelite::MucBakelite |
( |
int |
part, |
|
|
int |
segment, |
|
|
int |
layer, |
|
|
int |
upDown, |
|
|
int |
rpcId, |
|
|
int |
id |
|
) |
| |
◆ MucBakelite() [2/2]
◆ ~MucBakelite()
MucBakelite::~MucBakelite |
( |
| ) |
|
◆ GetPhi()
double MucBakelite::GetPhi |
( |
| ) |
|
◆ Init()
void MucBakelite::Init |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 46 of file MucBakelite.cxx.
47{
53
60
63
67}
virtual void SetObjOrgInBes()
virtual void SetObjOrgInLoc()
virtual void SetLocOrgInBes()
Referenced by MucBakelite().
◆ operator=()
Definition at line 30 of file MucBakelite.cxx.
31{
32 if( this == &other)
33 return *this;
34
36
38
39 return *this;
40}
MucEntity & operator=(const MucEntity &other)
◆ SetBarrelRpcInBes()
int MucBakelite::SetBarrelRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 379 of file MucBakelite.cxx.
380{
381 if(
m_Part != BRID )
return 0;
382
385
387 {
388
389 double r;
390 r = (B_AS_RMIN[
m_Layer] - AS_GAP / 2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
393
394
396 {
398 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTN/2.0;
399 else
400 z = (2*
m_UpDown - 1) * 3 * B_RPC_LTS/2.0;
401 }
404 else
405 z = -B_BOX_LT/2.0 + B_BOX_DZ[
m_UpDown] + (1+2*(3-
m_RpcId))*B_RPC_LTN/2.0;
406
407 }
408 else
409 {
410
413 else
415
416
417 y = (B_AS_RMIN[
m_Layer] - AS_GAP / 2.0) + (1-2*
m_UpDown)*(STR_TH + RPC_TH)/2.0;
418
419
428 else
429 z = -B_BOX_LT/2.0 - B_BOX_DZ[
m_UpDown] + (1+2*(4-
m_RpcId))*B_RPC_LTN/2.0;
430
431 }
432
436
437
438 for( int i=0; i<2; i++ ) {
440 }
441
442 return 0;
443}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by Init(), and SetLocOrgInBes().
◆ SetEndcapRpcInBes()
int MucBakelite::SetEndcapRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 445 of file MucBakelite.cxx.
446{
447 if(
m_Part == BRID )
return 0;
448
451
452
454 {
456 {
457 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
459 }
461 {
464 }
465 else
466 {
468 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
469 }
470 }
471 else
472 {
474 {
475 case 0:
476 x = ( VALUE*
m_Rc + E_GP_DX + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
478 break;
479 case 1:
481 x += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
482
484 y += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
485
486 break;
487 case 2:
490 break;
491 case 3:
493 x += RPC_DEATH_EDGE * ( 1 + 4.0/sqrt(2.0) )/4.0;
494
496 y += RPC_DEATH_EDGE * ( 3 - 2*sqrt(2.0) )/4.0;
497
498 break;
499 case 4:
501 y = ( VALUE*
m_Rc + E_GP_DY + E_STRPLN_DA )/2.0 + RPC_DEATH_EDGE/2.0;
502 }
503
504 }
505
506
510 else { y = -y; }
511
512
513
514 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
515
517 z += ( (E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP/2.0 );
518 z += (1-2*
m_UpDown) * ( STR_TH + RPC_TH ) / 2.0;
520
524
525
526 for( int i=0; i<2; i++ ) {
528 }
529
530 return 0;
531}
Referenced by Init(), and SetLocOrgInBes().
◆ SetH()
void MucBakelite::SetH |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 207 of file MucBakelite.cxx.
208{
211 else
212 {
214
215
217 m_H -= RPC_DEATH_EDGE * (1 + 1.0/VALUE);
218 else
219 m_H -= RPC_DEATH_EDGE * 2.0;
220 }
221}
Referenced by Init().
◆ SetL()
void MucBakelite::SetL |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 223 of file MucBakelite.cxx.
224{
226 {
228 {
229
231 {
233 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTN;
234 else
235 m_L = B_BOX_LT - 2*B_BOX_DZ[
m_UpDown] - 3*B_RPC_LTS;
236 }
237 else
238 {
241 else
243 }
244 }
245 else
246 {
248 {
250 }
252 {
254 }
255 else
257
258 }
259
260 m_L -= RPC_DEATH_EDGE * 2.0;
261
262 }
263 else
264 {
266 }
267
268}
Referenced by Init().
◆ SetLocOrgInBes()
void MucBakelite::SetLocOrgInBes |
( |
| ) |
|
|
protectedvirtual |
◆ SetObjOrgInBes()
void MucBakelite::SetObjOrgInBes |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 561 of file MucBakelite.cxx.
562{
564
565
566 for( int i=0; i<3; i++ ) {
568 }
569}
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
Referenced by Init().
◆ SetObjOrgInLoc()
void MucBakelite::SetObjOrgInLoc |
( |
| ) |
|
|
protectedvirtual |
◆ SetPhi()
void MucBakelite::SetPhi |
( |
| ) |
|
|
protectedvirtual |
◆ SetRc()
void MucBakelite::SetRc |
( |
| ) |
|
|
protectedvirtual |
◆ SetRin()
void MucBakelite::SetRin |
( |
| ) |
|
|
protectedvirtual |
◆ SetRout()
void MucBakelite::SetRout |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 113 of file MucBakelite.cxx.
114{
117 + (1-2*
m_ID)*(GAS_TH + BKLT_TH)/2.0 + BKLT_TH/2.0;
118 else
119 {
121 }
122}
Referenced by Init().
◆ SetTheta()
void MucBakelite::SetTheta |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 84 of file MucBakelite.cxx.
85{
88 else
89 {
92 else
93 {
95 m_Theta = ( MUC_PI/4.0 ) + MUC_PI / 8.0 ;
98 else
99 m_Theta = ( MUC_PI/4.0 ) - MUC_PI / 8.0 ;
100 }
101 }
102}
Referenced by Init().
◆ SetThin()
void MucBakelite::SetThin |
( |
| ) |
|
|
protectedvirtual |
◆ SetW()
void MucBakelite::SetW |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 134 of file MucBakelite.cxx.
135{
137 {
139 {
142 else
144 }
145 else
146 {
149 else
151
152 }
153 }
154 else
155 {
158 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
161 else
162 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
163 }
164 else
165 {
167 {
168 case 0:
169 m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA;
170 break;
171 case 1:
172 case 3:
174 break;
175 case 2:
177 break;
178 case 4:
179 m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA;
180 break;
181 default: ;
182 }
183 }
184
185 }
186
187
189 m_W -= RPC_DEATH_EDGE * 2.0;
190 else
191 {
193 {
194 if(
m_RpcId == 1 )
m_W -= RPC_DEATH_EDGE * 2.0;
195 else m_W -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
196 }
197 else
198 {
200 m_W -= RPC_DEATH_EDGE * 2.0;
201 else
202 m_W -= RPC_DEATH_EDGE;
203 }
204 }
205}
Referenced by Init().
◆ SetWd()
void MucBakelite::SetWd |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 325 of file MucBakelite.cxx.
326{
329 else
330 {
332 {
334 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
337 else
338 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
339 }
340 else
341 {
343 {
344 case 0:
345 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
346 break;
347 case 1:
348 case 3:
350 break;
351 case 2:
353 break;
354 case 4:
355 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
356 break;
357 default: ;
358 }
359 }
360
361
363 {
365 else m_Wd -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
366 }
367 else
368 {
370 m_Wd -= RPC_DEATH_EDGE * 2.0;
371 else
372 m_Wd -= RPC_DEATH_EDGE;
373 }
374
375 }
376}
Referenced by Init().
◆ SetWu()
void MucBakelite::SetWu |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 270 of file MucBakelite.cxx.
271{
274 else
275 {
277 {
279 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
282 else
283 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
284 }
285 else
286 {
288 {
289 case 0:
290 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
291 break;
292 case 1:
293 case 3:
295 break;
296 case 2:
298 break;
299 case 4:
300 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
301 break;
302 default: ;
303 }
304 }
305
306
308 {
310 {
312 else m_Wu -= ( 1 + 1.0/
cos(MUC_PI/8.0) ) * RPC_DEATH_EDGE;
313 }
314 else
315 {
317 m_Wu -= RPC_DEATH_EDGE * 2.0;
318 else
319 m_W -= RPC_DEATH_EDGE;
320 }
321 }
322 }
323}
Referenced by Init().
The documentation for this class was generated from the following files: